Книга: ASP.NET MVC Framework
Пример 2. Логин через Ajax
Второй пример будет представлять собой реализацию авторизации пользователя без перезагрузки страницы, с использованием только Ajax-запросов. Кроме того, сделаем так, чтобы возможность произвести вход в систему была доступна с любой страницы проекта.
Первоначально переопределим действие LogOn
в контроллере Account
так, чтобы поддержать возможность произведения входа в систему черезе Ajax-запросы (листинг 7.2).
Листинг 7.2. Переопределение действия LogOn
public ActionResult LogOn(string userName,
string password,
bool rememberMe,
string returnUrl)
{
if (Request.IsAjaxRequest())
{
var result = new AjaxResult();
if (!ValidateLogOn(userName, password))
{
result.IsSuccess = false;
result.ErrorString = "введен неверный логин или пароль";
return Json(result);
}
FormsAuth.SignIn(userName, rememberMe);
result.IsSuccess = true; return Json(result);
}
else
{
if (!ValidateLogOn(userName, password))
{
return View();
}
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
}
Обратите внимание на выделенный в листинге 7.2 фрагмент. В нем используется метод Request.IsAjaxRequest()
для определения типа запроса. Если запрос был произведен с помощью Ajax, то выполнятся дальнейшая обработка и возврат результата в виде JSON-данных с булевым значением, описывающим, произведен ли вход в систему, и строкой описания ошибки, если она возникла. Когда запрос не является Ajax-запросом, выполняется предыдущая логика.
- Применение Ajax и jQuery в MVC Framework
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Разработка через тестирование и разработка с тестами
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Пример 17-10. Блочный комментарий
- Примеры
- 2. Пример создания базового отношения в записи на псевдокоде