У меня есть метод, украшенный двумя пользовательскими ActionFilterAttribute.
[RequiresAuthentication(Order = 1)]
[ToonAction(Order = 2)]
public ActionResult Browse(...
RequiresAuthentication
атрибут взят из этой статьи
Внутри требуется Аутентификация, на ней OnActionExecuting Я делаю:
filterContext.HttpContext.Response.Redirect(loginUrl, true);
Строка - это , выполняемая, и все аргументы соответствуют ожиданиям. Проблема в том, что после выполнения строки выше я получаю следующий атрибут (ActionFilterAttribute), как если бы перенаправление не работало, он просто продолжает выполнять запрос вместо простого перенаправления браузера.
Вопрос: что еще мне нужно сделать, чтобы обработчик запросов
Это полный метод:
public override void OnActionExecuting(ActionExecutingContext filterContext) {
//redirect if not authenticated
var identity = filterContext.HttpContext.User.Identity;
if (!identity.IsAuthenticated) {
//use the current url for the redirect
string redirectOnSuccess = filterContext.HttpContext.Request.Url.PathAndQuery;
//send them off to the login page
string redirectUrl = string.Format("?ReturnUrl={0}", redirectOnSuccess);
string loginUrl = FormsAuthentication.LoginUrl + redirectUrl;
filterContext.HttpContext.Response.Redirect(loginUrl, true);
// filterContext.Result = new HttpUnauthorizedResult();
// filterContext.HttpContext.Response.StatusCode = 0x191;
}
}