我在IIS 7上有一个使用基本身份验证的网站。有些页面必须公开。我在web.config中的location元素中添加了一个这个异常,它看起来像这样:
<location path="Errors">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="*" />
</authorization>
</security>
</system.webServer>
</location>
但是,如果我尝试从该文件夹访问某些文件,我会收到此错误:
HTTP错误401.2 - 未经授权您无权查看此内容 页面由于身份验证标头无效。详细的错误信息 模块IIS Web核心通知AuthenticateRequest Handler StaticFile错误代码0x80070005请求的URL http://srv/Errors/error401.htm物理路径 D:\ www \ MyApp \ Errors \ error401.htm登录方法尚未确定 登录用户尚未确定
如何对我的网站进行基本身份验证,但允许每个人访问错误目录?
答案 0 :(得分:0)
IIS7
<location path="Errors">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Allow" users="*" />
</authorization>
</security>
</system.webServer>
</location>
IIS6(或IIS7经典模式)
<location path="Errors">
<system.web>
<authorization>
<allow users="?" />
</authorization>
</system.web>
</location>
修改强>
我不确定删除认证用户(*)的错误是个好主意,但是......经过身份验证的用户也会收到错误......向他们展示一些爱......;)
编辑2 (在IIS7中针对经典模式进行了更改)