我有一个只有授权用户才能访问的网站。
如果出现 401.2 ,我还会有一个自定义错误页面。
我通过以下方式配置了web.config
:
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="401" subStatusCode="-1" />
<error statusCode="401" subStatusCode="-1"
path="ERRORS\unauthorized.html"
responseMode="File">
</error>
</httpErrors>
</system.webServer>
但是,当我尝试访问我的网站时,会发生以下情况:
ERRORS\unauthorized.html
; ERRORS\unauthorized.html
未显示,我可以访问该页面!我还注意到了两件事:
index.aspx
,则会显示ERRORS\unauthorized.html
; statusCode
,即404,则会显示HTML页面。那我不明白什么?我的错误在哪里?
P.S。 我正在使用IIS 10和.NET 4.7
答案 0 :(得分:0)
您使用什么身份验证? 假设您正在IIS级别上使用匿名身份验证,并且在asp.net或system.web层中使用某种身份验证,则当您访问静态文件时,由于静态文件处理了它们,因此asp.net管道不会出现在图片中处理程序。因此,授权不会显示出来。还请尝试将应用程序池配置为以集成模式运行,然后尝试一下,因为集成模式结合了iis和asp.net管道,如果您运行的是经典版本,则不会
还可以在行上添加另一条注释,401.2是服务器响应的状态,没有传递用户信息,客户端必须登录,这不一定要处理授权,这是一种方法验证服务器如何工作。