我们最近将使用表单身份验证的 Framework 4.8 WebForms 项目转换为使用 Identity 2.0 身份验证,现在我们无法访问默认文档或图像,除非允许匿名访问。
一旦使用 Identity 进行身份验证,如果您浏览到诸如 http://mysite/dashboard/default.aspx 之类的文件夹,它就可以正常工作。但是,如果默认页面不在 http://mysite/dashboard/ 中的路径中,它会返回 401.2 ,就好像 IIS 需要权限来服务该页面:
*访问被拒绝。说明:访问处理此请求所需的资源时出错。服务器可能未配置为访问请求的 URL。
错误消息 401.2.:未经授权:由于服务器配置,登录失败。根据您提供的凭据和 Web 服务器上启用的身份验证方法,验证您是否有权查看此目录或页面。请联系 Web 服务器的管理员以获得更多帮助。*
我们有<authentication mode="None">我理解的对于这种情况是正确的。IIS 配置为使用默认文档,就像我们使用表单身份验证时一样。
我们还通过以下方式拒绝未经身份验证的用户System.Web.Security.UrlAuthorizationModule:
<authorization>
<deny users="?" />
</authorization>
如果我们允许对文件夹进行匿名访问,它确实可以工作,但我们不会在这些位置进行匿名访问。
<location path="Dashboard">
<system.web>
<authorization>
<allow users="*" />
</authorization>
</system.web>
</location>
那么,如何配置 IIS 以在没有“允许匿名”的情况下访问默认文档,使其像在表单身份验证下一样工作。
谢谢!!!