gpt4 book ai didi

asp.net-mvc-3 - ASP.NET MVC 3 OnActionExecuting 导致无限循环

转载 作者:行者123 更新时间:2023-12-04 06:26:25 25 4
gpt4 key购买 nike

我有重写的 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);
}
}

为什么 - 如果用户未登录 - 响应再次重定向到该方法。为什么 ?

最佳答案

这可能是因为您重定向到的 Controller 操作(我认为是登录 url)也使用此属性进行了修饰。因此,如果用户未通过身份验证,他将被重定向到登录操作,并且由于他未通过身份验证,他将被重定向到登录操作,依此类推。我个人建议您使用 [Authorize]属性而不是编写这样的操作过滤器。

关于asp.net-mvc-3 - ASP.NET MVC 3 OnActionExecuting 导致无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5990200/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com