我似乎无法隔离我的论坛,为他们设置不同于网站其他部分的权限。
以下是我网站的设置。
<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
是一个被重写的虚拟路径,因此直接或文件都不存在这些名称。为什么这个目前不起作用?
我希望这个解决方案足够详细。
答案 0 :(得分:0)
EDIT2: 所以解决方案不仅仅在评论中: 据我所知,您无法为每个位置指定身份验证模式 您可以在整个站点中设置表单身份验证模式,并且只需要在安全部分中登录用户。
编辑:
嗯,很奇怪,你确定你只编辑了〜走了吗?
他们讨论你的问题here,但我无法想象如何改变〜会触发它。
你可以发布整个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>