重定向到login.aspx但不是重定向到default.aspx

时间:2012-07-12 02:00:37

标签: asp.net web-config

所以我设置了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>

1 个答案:

答案 0 :(得分:1)

如配置文件中清楚显示的那样,您允许未经身份验证的用户明确访问“default.aspx”URL。 “/”URL没有这样的东西。请注意,它们(可能)最终最终指向磁盘上的相同物理文件并不重要。只有URL才有助于授权。您可以克隆<location>标记,只需使用另一个path="/"标记即可访问所有用户,无论其身份验证状态如何。