[英]How to allow anonymous user access to virtual directory
我目前阻止匿名用户访问我的根应用程序。
/web.config
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
但我允许匿名访问公共资源(图像,CSS等):
<location path="Images">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
现在,我想添加一个匿名用户可以访问的虚拟目录。 我添加了一个基于Images路径的配置,但每当我尝试访问该位置时,我都会被重定向到登录页面,并将ReturnURL
设置为虚拟目录。
<location path="virtualDirectory">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
另外,我试图在我的虚拟目录的web.config中指定全局授权但是得到一个错误,说我只能有一次
/virtualDirectory/web.config:
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
当我的根应用程序阻止匿名访问时,如何允许匿名访问虚拟目录?
在你的全局web.config中封装了
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
同
<location path="." inheritInChildApplications="false">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
这意味着 - 授权仅在root应用程序中实施,而不是针对子应用程序。
一些笔记。
星号(*)代表所有身份。
问号(?)代表匿名身份。
因此,理想情况下,您无需在全局web.config中设置允许对virtualDirectory的匿名用户进行身份验证。
转到IIS,在虚拟目录下>选择身份验证>启用匿名身份验证。
参考
在您的全局web.config中删除
<location path="virtualDirectory">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
然后去IIS经理和
在“虚拟目录主页”区域中,双击“身份验证”
右键单击“匿名身份验证”,然后单击“启用”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.