允许匿名访问使用Windows身份验证的IIS站点中的目录
本文关键字:IIS 站点 身份验证 访问 许匿名 Windows | 更新日期: 2023-09-27 18:14:20
我有一个IIS8网站运行ASP。. NET 4.0使用Windows身份验证
在我的IIS身份验证设置中,除了Windows身份验证之外,所有的都被禁用了。用户能够正确地进行身份验证并按预期使用站点。
但是,我现在有一个Uploads文件夹,其中包含我想从其他应用程序向未经身份验证的用户公开的图像。
在我的网上。配置文件中有以下与身份验证/授权相关的行:
<system.web>
<authentication mode="Windows"/>
</system.web>
<location path="Uploads">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
我如何允许匿名访问上传文件夹,同时保持Windows认证的一切?目前,他们必须登录到另一个应用程序,然后当从有问题的网站访问图像时,他们必须进行身份验证才能访问它们。
同样,位置路径是相对于web的。配置文件正确吗?
编辑:不确定这是否重要,但是我们的网站对内对外都是可用的。如果从我们域内的计算机访问,它会自动登录,如果是不在域内的计算机,它们会被重定向到登录页面。我在另一个问题上找到了答案:允许在web.config中的单个文件夹进行匿名身份验证?
- 首先,我必须进入C:'Windows'System32'inetsrv'config'applicationHost.config
- 搜索这一行,将"Deny"改为"Allow" 然后把下面的代码放到web中。配置文件
<location path="Path/To/Public/Folder">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
你需要做的是删除匿名的"Deny"规则,因为它被继承了,它仍然会阻止用户,比如:
<system.webServer>
<security>
<authorization>
<remove users="?" roles="" verbs="" />
<allow users="*" />
</authorization>
</security>
</system.webServer>
确实,位置路径是相对于web文件所在的文件夹的。
我也刚刚注意到你正在使用系统。网络而不是系统。webServer,这是你应该使用的。