У меня есть действие контроллера .NET MVC, которое возвращает JsonResult для обратного вызова YUI AsyncRequest. Все работает нормально с вызовом AsyncRequest, и данные модели «Содержимое» успешно обновляются. Как теперь я могу убедиться, что пользователь вошел в систему до создания AsyncRequest?
Обычно я бы использовал атрибут [Authorize], который возвращает ошибку обратно в мой YUI AsyncRequest, так как он ожидает результата Json.
Я также пытался проверить «User.Identity.IsAuthenticated» в действии, но по-прежнему не люблю.
Мне удалось отправить результат Json обратно в JS, который указал, что пользователю необходимо войти в систему, но я бы предпочел, чтобы он перенаправил пользователя в представление LogOn.
Вот действие контроллера:
[JsonFilter(Param="content"), JsonDataType=typeof(Content)]
public ActionResult SaveJson(Content content)
{
if (!User.Identity.IsAuthenticated)
RedirectToRoute(new { Action="LogOn", Controller="Account"});
contentRepository.Update(content);
return Json(new {Result = "sucess"});
}
ТИА!