0

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

1 回答 1

1

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

于 2012-07-12T02:03:45.507 回答