我们已使用isapi_redirect.dll成功将IIS配置为前2个Tomcat实例。它巧妙地做了一切,我们非常高兴。但是,现在我们正在使用其中一个Tomcat实例通过AXIS提供Web服务。这需要BASIC Auth,.NET客户端失败 + .NET客户端可以通过浏览“site:8180”来绕过IIS,它们很好 + Java客户端可以访问IIS并且ISAPI传递它们,并且它们使用basic进行身份验证 命中IIS的+ .NET客户端无法使用相同的unpw进行身份验证。
Fiddler报告此次会议:
HTTP / 1.1 401未经授权
日期:2009年1月7日星期三格林威治标准时间14:31:59
服务器:Microsoft-IIS / 6.0
WWW-Authenticate:NTLM
X-Powered-By:ASP.NET
Pragma:No-cache
缓存控制:无缓存
到期日:1969年12月31日星期三19:00:00 EST
WWW-Authenticate:Basic realm =“Daily Control Module”
Content-Type:text / html; charset = utf-8
内容长度:954
代理支持:基于会话的身份验证
它启动了看起来像基本身份验证对话框,但它没有要求我们对每日控制模块进行身份验证,而是要求我们对Windows服务器进行身份验证。果然,IIS服务器要求NTLM身份验证。如果我将整个服务器设置为使用Basic Auth,我会从Fiddler那里得到这个:
HTTP / 1.1 401未经授权
内容长度:1656
内容类型:text / html
服务器:Microsoft-IIS / 6.0
WWW-Authenticate:Basic realm =“serverName”
X-Powered-By:ASP.NET
日期:2009年1月7日星期三15:08:32 GMT
叹息。基本,但现在Basic Realm已更改为IIS服务器。因此,如果我将整个服务器设置为针对Basic领域,每日控制模块进行身份验证,那么我得到这个:
HTTP / 1.1 401未经授权
日期:2009年1月7日星期三格林尼治标准时间15:11:45
服务器:Microsoft-IIS / 6.0
WWW-Authenticate:Basic realm =“Daily Control Module”
X-Powered-By:ASP.NET
Pragma:No-cache
缓存控制:无缓存
到期日:1969年12月31日星期三19:00:00 EST
WWW-Authenticate:Basic realm =“Daily Control Module”
Content-Type:text / html; charset = utf-8
内容长度:954
双WWW-Auth标头很奇怪,不是吗?无论如何,使用直接对Tomcat工作的相同unpw进行身份验证失败,无论我是否指定域。
此时:
+ Anon已关闭
+集成Windows身份验证已关闭
+基本身份验证为开启,将域配置为每日控制模块
谢谢你的期待。
答案 0 :(得分:1)
目录安全性的配置是什么?
您确定只启用了基本身份验证吗?
其他方面是。也许在iis级别,您应该使用匿名身份验证。 tomcat是否正在实施基本的身份验证交换?
问题的根源(来自您发布的标题)是.net客户端认识到该站点支持ntlm身份验证。并尝试使用该协议进行身份验证。 java客户端只是忽略了ntlm选项,因此它使用该站点支持的任何其他身份验证协议。
您应确保未在站点和文件级别启用集成身份验证。