【发布时间】:2009-04-20 12:17:25
【问题描述】:
我有一个使用 .Net 2.0 框架的 Web 应用程序。整个网站仅限于使用 Windows 身份验证的经过身份验证的用户。这些规则在 web.config 文件中设置如下:
<location path="/">
<system.web>
<authorization>
<allow roles="CustomerAdministrator, Manager"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
<location path="Path/To/Public/File.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
[...]
如上所示,我有一个想要公开的页面。到目前为止,一切正常。我们最近为更好的 url 添加了 url 重写,所以我为公共页面设置了重写规则:
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/Public</LookFor>
<SendTo><![CDATA[~/Path/To/Public/File.aspx]]></SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
现在,当通过其直接 url 访问公共页面时,它可以按预期工作(不需要身份验证),但是当我尝试通过其重写的 url 访问该页面时,它会要求身份验证。
有谁知道我的这个问题是从哪里来的?
【问题讨论】:
-
你用什么来重写网址?
标签: .net asp.net authentication url-rewriting