如果我在IIS7中将Windows Authentication设置为true并将“匿名身份验证”设置为false,我将获得一个WWW-Authenticate标头。我假设这是浏览器弹出身份验证对话框的提示。我正在尝试找出在ASP.NET管道中设置WWW-Authenticate标头的位置(以及负责设置它的类)。我已经做了相当多的谷歌搜索,并在reflector中查看了WindowsAuthenticationModule和UrlAuthorizationModule,但似乎找不到它!
发布于 2011-09-16 03:01:11
IIS7中的几个模块执行与请求处理管道中的安全性相关的任务。此外,每个身份验证方案都有单独的模块,使您能够为服务器上所需的身份验证类型选择模块。
您要查找的是WindowsAuthenticationModule,它执行NTLM集成身份验证。它位于Inetsrv\Authsspi.dll中。
下图显示了IIS7的HTTP请求处理管道机制。

有关完整的深入阐述,包括上述材料,请访问:http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/
这将回答您的所有问题:-)
发布于 2011-09-15 22:19:19
如果在IIS中设置了Windows身份验证,则身份验证将在客户端和IIS之间进行。
当在web.config中设置时,IIS可以访问详细信息,但IIS会发送WWW-Authenticate标头并管理凭据交换。
查看更多信息:
https://www.owasp.org/index.php/Authentication_In_IIS
http://msdn.microsoft.com/en-us/library/ff647405.aspx
https://stackoverflow.com/questions/5316093
复制相似问题