2
我有被覆蓋的OnActionExecuting方法(來檢查之前,如果用戶登錄在行動執行)ASP.NET MVC 3 OnActionExecuting導致無限循環
public class AuthenticationAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
string redirectUrl = string.Format("?returnUrl={0}", filterContext.HttpContext.Request.Url.PathAndQuery);
filterContext.HttpContext.Response.Redirect(FormsAuthentication.LoginUrl + redirectUrl, true);
}
else
base.OnActionExecuting(filterContext);
}
}
爲什麼 - 如果用戶沒有登錄 - 響應被重定向再次向該方法。爲什麼?
但是如果我在控制器上使用[Authorize]屬性,結果是一個空白頁面(URL被正確更改) – Tony 2011-05-13 10:03:34
@Tony,authorize屬性將自動重定向到您在''部分定義的登錄頁面你的web.config。因此,請確保在那裏定義的url對應於應用程序中的實際控制器操作。 –
2011-05-13 10:23:00