我有一个授权过滤器,用于检查用户会话是否有效。
public class ValidateSessionTokenFilter : IAuthorizationFilter
{
public void OnAuthorization(AuthorizationContext filterContext)
{
if (_SessionTokenIsValid() == false)
{
filterContext.HttpContext.Response.SuppressFormsAuthenticationRedirect = true;
filterContext.HttpContext.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
filterContext.Result = new RedirectResult(_LoginUrl(), false);
}
}
}
我想知道将状态代码设置为Unauthorized
然后返回RedirectResult
是否会发生冲突?
我应该只返回RedirectResult
而不指定Unauthorized
状态代码吗?
答案 0 :(得分:0)
你使用formsauthentication吗?
你可以试试这个,
if (authorizationContext.HttpContext.Request.IsAjaxRequest())
{
FormsAuthentication.SignOut();
return;
}
FormsAuthentication.RedirectToLoginPage();