所以我设置了web.config来验证表单。我在web.config中有两段代码,但它表现得很奇怪。当您访问www.mysite.com时,它会重定向到login.aspx页面,但是当您访问www.mysite.com/default.aspx时,它不会重定向。它为什么这样做?我还将默认文档设置为default.aspx
<system.web>
<compilation debug="true" targetFramework="4.0" />
<authentication mode="Forms">
<forms loginUrl="~/Login.aspx" timeout="2880" defaultUrl="account/default.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<location path="default.aspx">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
答案 0 :(得分:1)
如配置文件中清楚显示的那样,您允许未经身份验证的用户明确访问“default.aspx”URL。 “/”URL没有这样的东西。请注意,它们(可能)最终最终指向磁盘上的相同物理文件并不重要。只有URL才有助于授权。您可以克隆<location>
标记,只需使用另一个path="/"
标记即可访问所有用户,无论其身份验证状态如何。