gpt4 book ai didi

asp.net - FormsAuthentication.GetRedirectUrl 始终返回默认值

转载 作者:行者123 更新时间:2023-12-03 20:26:37 26 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 应用程序并且正在使用 Forms 身份验证。当转到需要身份验证的页面时,这意味着 Controller 操作上有 [Authorize] 属性,它将用户重定向到登录页面,返回 url 类似于 http://localhost/Login?ReturnUrl=/MyAuthorizedUrl .

这是我的配置的设置方式:

<authentication mode="Forms">
<forms loginUrl="~/Login" timeout="2880" defaultUrl="~/" />
</authentication>

这就是我获取重定向 url 的方式:
var url = FormsAuthentication.GetRedirectUrl( model.Email, model.RememberMe );

这总是返回默认 url。

这是什么原因造成的?

最佳答案

我假设您希望获得“MyAuthorizedUrl”作为 FormsAuthentication.GetRedirectUrl 的结果?

您需要插入一个隐藏的输入字段来镜像 ReturnUrl=/MyAuthorizedUrl ,例如name="ReturnUrl" value="/MyAuthorizedUrl" .

原因是登录页面是通过 ReturnUrl GET 请求的。 ,但 POST 转到 /Login (不带任何参数)。

或者更改表单操作属性以包含 ReturnUrl范围。

关于asp.net - FormsAuthentication.GetRedirectUrl 始终返回默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4246606/

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