使用WindowsAuthenticationModule时,在哪里添加WWW-Authenticate标头

时间:2011-03-15 18:09:52

标签: asp.net authentication iis-7 windows-authentication

如果我在IIS7中将Windows身份验证设置为true并将匿名身份验证设置为false,我将获得WWW-Authenticate标头。我假设这是浏览器弹出验证对话框的提示。我试图弄清楚ASP.NET管道中WWW-Authenticate标头的设置位置(以及哪个类负责设置它)。我已经完成了很多谷歌搜索,并在反射器中查看WindowsAuthenticationModule和UrlAuthorizationModule,但似乎无法确定它!

2 个答案:

答案 0 :(得分:1)

IIS 7中的几个模块执行与请求处理管道中的安全性相关的任务。此外,每个身份验证方案都有单独的模块,使您可以为服务器上所需的身份验证类型选择模块。

您正在寻找的是WindowsAuthenticationModule,它执行NTLM集成身份验证。它位于Inetsrv \ Authsspi.dll。

下图显示了IIS7的HTTP请求处理管道机制。

enter image description here

要获得完整的深入阐述,包括上述材料,请访问:http://learn.iis.net/page.aspx/101/introduction-to-iis-7-architecture/

那应该回答你所有的问题: - )

答案 1 :(得分:0)

如果在IIS中设置了Windows身份验证,则客户端和IIS之间将进行身份验证。

.NET可以在web.config中设置时访问详细信息,但IIS发送WWW-Authenticate标头并管理凭据交换。

查看更多:

https://www.owasp.org/index.php/Authentication_In_IIS

http://msdn.microsoft.com/en-us/library/ff647405.aspx