登录页面被击中3次

时间:2013-02-05 19:28:22

标签: asp.net web-config

我对此感到困惑。我有一个主页面在几页之上,其中一个是登录页面。以下是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。三次! ...登录 - &gt;大师被击中3次! ...现在......如果我从

更改Web.config中的代码行
 <location path="~/Account/Login.aspx">

 <location path="Account">

登录 - &gt;主人只会被击中一次。除了帐户文件夹中的login.aspx / cs / designer之外别无其他功能。为什么会这样?当我添加更多内容时,我想控制帐户文件夹中的页面,而不仅仅是解除对它们的访问权限,甚至

 <location path="Account/Login.aspx">

(删除“〜/”)没有做任何事情。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您应该允许对MasterPage的所有访问权限,与您允许任何人访问您的登录页面的方式类似。

它不会自行提供,也不需要保护,因为应该锁定使用它的页面。通常我有root不安全的,它有登录页面,母版页,大约等等。然后我有一个安全区域,其页面使用从根页面的母版页。