我们已使用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 Unauthorized
    日期:2009年1月7日星期三14:31:59 GMT
    服务器: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
    代理支持:基于会话的身份验证

它启动了基本的auth对话框,但它没有要求我们对Daily Control Module进行身份验证,而是要求我们对Windows服务器进行身份验证。果然,IIS服务器要求NTLM身份验证。如果我将整个服务器设置为使用Basic Auth,我从Fiddler得到这个:
    HTTP / 1.1 401 Unauthorized
    内容长度: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 Unauthorized
    日期: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身份验证关闭
+基本身份验证为开启,将域配置为每日控制模块

谢谢你的期待。

有帮助吗?

解决方案

目录安全性的配置是什么?

您确定只启用了基本身份验证吗?

其他方面是。也许在iis级别,您应该使用匿名身份验证。 tomcat是否正在实施基本的身份验证交换?

问题的根源(来自您发布的标题)是.net客户端认识到该站点支持ntlm身份验证。并尝试使用该协议进行身份验证。 java客户端只是忽略了ntlm选项,因此它使用该站点支持的任何其他身份验证协议。

您应确保未在站点和文件级别启用集成身份验证。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top