3

我似乎无法隔离我的论坛来为它们设置与站点其他部分不同的权限。

这是我的网站的设置。

<location path=".">
  <system.web>
    <authentication mode="None" />
  </system.web>
</location>

我需要隔离我的论坛。目前,出于测试目的,我进行了设置,以便所有用户都被拒绝访问。

<location path="~/public/public-forum.aspx">
  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="public/login.aspx" />
    </authentication>
    <authorization>
      <deny users="*" />
    </authorization>
  </system.web>
</location>

我发现我仍然可以访问论坛页面。这向我表明这没有正确设置。

路径属性是否必须是相对的?它是否必须指向访问页面的 URL 或重写的路径?~/public/public-forum.aspx是一个被重写的虚拟路径,因此这些名称既不直接也不存在文件。为什么这目前不起作用?

我希望这是解决方案的足够详细信息。

4

1 回答 1

0

edit2:所以解决方案不仅在评论中:
据我所知,您无法为每个位置指定身份验证模式。
您可以在整个站点中设置表单身份验证模式,并且只需要在安全部分中登录用户。

编辑:
嗯,奇怪,你确定你只编辑了~吗?他们在这里
讨论您的问题,但我无法想象更改 ~ 会如何触发它。 您能否发布您的整个 web.config? 另外:您使用的是 iis 6 和虚拟目录吗?

不需要 ~ 符号,试试这个:

<location path="public/public-forum.aspx">
  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="public/login.aspx" />
    </authentication>
    <authorization>
      <deny users="*" />
    </authorization>
  </system.web>
</location>
于 2012-05-02T14:56:09.703 回答