如何限制对我的网站的根文件夹和所有子文件夹的访问?我有一个使用Identity进行身份验证的ASP.Net Webforms应用程序。用户将为他们创建帐户。当用户访问网站时,他们应该看到的第一件事是登录页面。我已经尝试了#34; /","〜/","",位置标记中的值,以及根本没有位置web.config文件中的tag,但这些都不会产生所需的结果。
{{1}}
答案 0 :(得分:0)
删除<location>
元素并尝试以下配置:
<system.web>
<authentication mode="Forms">
<forms name="FormsAuth" loginUrl="/your-login-path" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
....
</system.web>
根据您的环境/设置等,您可能需要对<forms>
元素进行进一步的调整,但这应该可以帮助您。
修改强>
上述内容不适用于ASP.Net Indentity。我能够实现这一目标的唯一方法是在根目录和子文件夹<location>
中为每个页面创建单独的web.config
元素,根据需要明确拒绝或允许用户。
<location path="Default.aspx">
<system.web>
<authorization>
<deny users ="?"/>
</authorization>
</system.web>
</location>
<system.web>
<authentication mode="None"/>
...
</system.web>
答案 1 :(得分:0)
在Root Web.Config中添加:
<authorization>
<deny users ="?"/>
</authorization>
在您的帐户/ Web.Confing中添加:
<system.web>
<authorization>
<allow users="*"/>
</authorization>
这对我有用