我对此感到困惑。我有一个母版页的顶部几个页面,其中一个是登录页。下面是web.config的一个示例
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
...
<location path="~/Account/Login.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Default.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>我从Default.aspx访问About.aspx,这需要登录。About.aspx永远不会命中,而是login.aspx命中,然后是Site.master,然后是再次登录,然后是site.master,最后是Login.aspx和master.aspx。三次!..登录->主控被击中3次!...现在..。如果我将Web.config中的代码行从
<location path="~/Account/Login.aspx">至
<location path="Account">登录->主控只被击中一次。Account文件夹中除了login.aspx/cs/designer之外没有其他内容。为什么会发生这种情况?我想在添加更多页面时控制帐户文件夹中的页面,而不仅仅是取消对所有页面的访问,甚至
<location path="Account/Login.aspx">(去掉"~/")没有做任何事情。任何帮助都将不胜感激。
发布于 2013-02-06 03:37:57
您应该允许所有人访问您的MasterPage,类似于您允许任何人访问您的登录页面的方式。
它不会被单独提供,也不需要被保护,因为使用它的页面应该被锁定。通常我有一个不安全的根,其中有登录页面,母版页,关于等。然后我有一个安全的区域,其中有使用从根的母版页的页面。
https://stackoverflow.com/questions/14715348
复制相似问题