我最近遇到了一个棘手的问题:如何让Windows身份验证在本地IIS 7.5(Windows 7 Pro)实例上运行到ASP.NET4.0网站.我遵循了基本的步骤.
IIS身份验证
- 禁用匿名身份验证
- 启用Windows身份验证
编辑网页.配置
<authentication mode="Windows" />
这在启用Windows身份验证方面做得很好,但每次try 登录都被拒绝,最终返回401.1错误.问题就是从这里开始的.出现这种情况的原因似乎有很多,在网络上都有很好的记录,包括这里的堆栈溢出.
我试过了:
- Editing IIS身份验证 'Advanced settings' for Windows Authentication to disable Extended Protection and Kernel-mode authentication
- Editing IIS身份验证 'Providers' to move NTLM above Negotiate.
- 编辑IIS.NET授权规则以明确允许用户(以及各种其他组合).
- 各种IIS命令行脚本和调整.
- web.config文件中的各种配置调整.
- 甚至还有一些文件系统权限的调整.
但一切都无济于事,令人畏惧的401.1人留了下来.
这真的是一个"见木不见木"的例子.我找到的所有解决方案(如果你愿意,可以称之为糟糕的搜索参数)都不适用于我,因此我认为值得发布这个问题,希望能为任何遇到同样问题的人提供一个更容易找到的明确答案.