gpt4 book ai didi

asp.net - 使用表单例份验证在 ASP.NET Web 表单中进行路由

转载 作者:行者123 更新时间:2023-12-02 16:12:35 25 4
gpt4 key购买 nike

我正在开发一个使用表单例份验证的 ASP.NET Web 表单应用程序。问题是,它忽略我的路线并重定向到 login.aspx 页面。

我有以下路线设置:

routes.MapPageRoute("/locale", "{locale}", "~/shorturl/transfer.aspx", 
false,
new RouteValueDictionary { { "locale", "[a-z]{2}" } });

如果我使用以下网址:http://server/minneapolis它会转到登录页面。如果我将以下内容添加到 Web.Config,那么它会“工作”并转到 Transfer.aspx 页面。

<location path="minneapolis"> 
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

我不想将所有区域设置添加到 web.config,这似乎达不到目的。

我还可以将路线更改为(注意我添加了“/loc/”):

    routes.MapPageRoute("/locale", "/loc/{locale}", "~/shorturl/transfer.aspx", 
false,
new RouteValueDictionary { { "locale", "[a-z]{2}" } });

之后,我可以将 Web.Config 位置路径更改为 loc (location path="loc") 并且它可以工作,但我真的更喜欢将其放在根目录下。有什么办法可以做到这一点吗?

它是 .NET v4,我必须支持 IIS 7 和 IIS 7.5

最佳答案

我认为没有办法做到这一点。授权是基于 url 的,授权模块在确定如何授权请求时似乎会检查 url 而不是目标 url。

大约 6 个月的时间就失败了,就像你在我的一个项目中所做的那样。我最终得到了您提出的解决方案 - 我的路由请求被放入“子文件夹”中,并且我创建了一个带有 authorization allowed users=* 的本地 web.config。 p>

如果有办法解决这个问题,我也想听听应该如何完成。

关于asp.net - 使用表单例份验证在 ASP.NET Web 表单中进行路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9999818/

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