解決此問題的一個好方法是檢查您的ExtendedAuthorize
屬性,OnAuthorization
是否在希望用戶重定向到的頁面上運行。
我猜你ExtendedAuthorize
是類似以下內容:
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public class ExtendedAuthorizeAttribute : AuthorizeAttribute
{
private readonly string _redirectActionName;
private readonly string _redirectControllerName;
SimpleAuthorizeAttribute(string redirectActionName, string redirectControllerName)
{
_redirectActionName = redirectActionName;
_redirectControllerName = redirectControllerName;
}
public string RedirectActionName
{
get
{
return _redirectActionName;
}
}
public string RedirectControllerName
{
get
{
return _redirectControllerName;
}
}
}
在這種情況下,你只需要檢查OnAuthorize是否是你想要的用戶重定向到網頁上運行:
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if(filterContext.ActionDescriptor.ActionName == RedirectActionName &&
filterContext.ActionDescriptor.ControllerDescriptor.ControllerName == RedirectControllerName)
{
return;
}
....
}
嗨。我測試過,'OnAuthorization'確實在重定向的頁面上運行。我不知道如何做條件測試。乾杯! – Celdor 2015-01-26 09:47:43
嗨,很高興我可以幫助:) – 2015-01-26 18:25:39