2013-05-16 32 views
0

我有一個授權過濾器來檢查用戶會話是否有效。Asp.net MVC未經授權的狀態碼和RedirectResult

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

你使用formsauthentication?

你可以試試這個,

if (authorizationContext.HttpContext.Request.IsAjaxRequest()) 
       { 
        FormsAuthentication.SignOut(); 
        return; 
       } 

       FormsAuthentication.RedirectToLoginPage(); 
相關問題