通过HttpModule拦截IIS Windows身份验证

时间:2017-10-03 13:42:14

标签: c# asp.net authentication iis httpmodule

众所周知,对于NTLM,有两个401 http响应,然后是一个200 http响应。只是想知道是否还有我们可以介入修改那些401 http响应的http响应头,尤其是第二个401 http响应。通过互联网进行了一些搜索,我没有找到任何相关信息。 HttpModule通常是拦截每个请求的方法,但是从这个链接.NET HttpModule & NTLM Integrated Authentication,它在其中一个回复中有以下措辞:

  

.Net HttpModule无法实现您的目标。认证   在HttpModule获得控制权时,IIS已经完成了。

我们也在测试中证实了这一点。似乎我们的HttpModule在401请求/响应期间不会被调用(技术上对我们来说,它只是第二个401,因为对于第一个401,401由我们的代码设置然后返回到客户端浏览器。我们之所以如此这样做是因为我们需要有一个登录页面来支持基于最终用户选择的多种身份验证方法,如果需要,我们可以详细了解这一点。

我之所以这样问,原因是我们的一位客户的漏洞扫描软件将第二个401 http响应标记为漏洞问题,因为没有像“cache-control:no-cache”这样的标题。我们能够通过使用http模块为每个通过我们的代码的请求添加这样的头,但不是第二个401请求/响应。任何见解?非常感谢。

0 个答案:

没有答案