Мне нужна помощь в создании формы входа в web API
Привет
Мне нужно создать безопасную форму входа в Web API,и я не хочу передавать значения входа через URL-адрес для перенаправления страницы.Моя проблема в том, что :
Я могу проверить, что имя пользователя и пароль верны (существуют в SQL DB), но я не знаю, как передать значения на перенаправленную страницу (Home.html) таким образом, пользователь может перенаправить на свою собственную домашнюю страницу свою личную информацию.
Что я уже пробовал:
Контроллер:
public class LoginAuthenticateArgs { public string Username {get; set;} public string Password {get; set;} } [HttpPost] public int LoginAuthenticate(LoginAuthenticateArgs _Login) { using(Product _Product = new Product()) { var _UserLogin = _Product.Login .where(c=>c.Username == _Login.Username && c.Password == _Login.Password) .singleordefault(); if(_UserLogin != null) { return _UserLogin .ID; } } }
язык JavaScript:
function LoginClick(){ var data = { Username: $("#UsernameTextbox").val(), Password: $("#PasswordTextbox").val() }; Ajax("Controller/function", data, Success, Fail, "post"}; }; function Success(response){ // I don't know what to do now and how to pass the response // to redirect page };
F-ES Sitecore
Бессмысленно использовать AJAX при перенаправлении кого-то на новую страницу, просто используйте обычную форму, и вы получите выгоду, если ваш сайт все еще работает без js.
Ali Majed HA
Спасибо за ваш комментарий,я буду иметь его в виду.
Richard Deeming
Вы храните пароли в виде обычного текста. То есть чрезвычайно плохая идея.
Вы должны хранить только соленый хэш пароля, используя несколько итераций безопасного алгоритма хэширования и уникальную соль для каждой записи.
Безопасная Аутентификация Паролем Объясняется Просто[^]
Соленое хэширование паролей - все правильно[^]
Ali Majed HA
Эй, Ричард, твой комментарий открыл для меня новое окно, большое спасибо.