asp.net mvc 中 HttpUnauthorizedResult 的默认登录 url

2024-01-17

我写了一个自定义AuthorizeAttribute在asp.net mvc3应用程序中具有以下条件:

public override void OnAuthorization(AuthorizationContext filterContext)
{     
    //auth failed, redirect to Sign In
    if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
    {
       filterContext.Result = new HttpUnauthorizedResult();
    }
}

在我的 web.config 中,我有:

<authentication mode="Forms">
  <forms loginUrl="~/User/SignIn" timeout="2880" />
</authentication>

认证失败时,默认重定向到“/Account/Login”页面。

如何更改此默认重定向 URL 并将其重定向到“/User/SignIn”?

The screenshot shows the clear view of what i am trying to say..HttpUnauthorizedresult image

虽然我设置了“/User/SignIn”,但它重定向到“/Account/Login”


我不确定是否可以将其添加为答案。但这可能会帮助其他遇到此相关问题的人。

经过一番斗争我得到了解决方案。我最近添加了 WebMatrix.WebData 引用,这似乎是此问题的真正罪魁祸首。这可以通过将密钥添加到配置文件来处理:

<add key="loginUrl" value="~/User/SignIn" />
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net mvc 中 HttpUnauthorizedResult 的默认登录 url 的相关文章

随机推荐