IIS ISAPI Tomcatコネクターを取得してBASIC認証をTomcatに渡すことができません
-
05-07-2019 - |
質問
isapi_redirect.dllを使用して、2つのTomcatインスタンスの前にIISを正常に構成しました。それはすべてを賢くやっていて、とても幸せです。ただし、現在はTomcatインスタンスの1つを使用して、AXISを介してWebサービスを提供しています。これにはBASIC認証が必要で、.NETクライアントは失敗します。
+ .NETクライアントは、「site:8180」にアクセスしてIISをバイパスできます。彼らは大丈夫です
+ JavaクライアントはIISにアクセスでき、ISAPIはそれらを通過させ、基本を使用して正常に認証します。
+ IISにヒットした.NETクライアントは、同じunpwを使用した認証に失敗します。
フィドラーはこのセッションを報告します:
HTTP / 1.1 401 Unauthorized
日付:2009年1月7日水曜日14:31:59 GMT
サーバー:Microsoft-IIS / 6.0
WWW認証:NTLM
X-Powered-By:ASP.NET
プラグマ:キャッシュなし
Cache-Control:no-cache
有効期限:水、1969年12月31日19:00:00 EST
WWW-Authenticate:Basic realm =" Daily Control Module"
コンテンツタイプ:text / html; charset = utf-8
コンテンツの長さ:954
プロキシサポート:セッションベース認証
基本的な認証ダイアログのように見えるものを起動しますが、Daily Control Moduleに対する認証を要求する代わりに、Windowsサーバーに対する認証を要求します。確かに、IISサーバーはNTLM認証を要求しています。サーバー全体でBasic Authを使用するように設定すると、Fiddlerから取得できます。
HTTP / 1.1 401 Unauthorized
コンテンツの長さ:1656
コンテンツタイプ:text / html
サーバー:Microsoft-IIS / 6.0
WWW-Authenticate:基本レルム=" serverName"
X-Powered-By:ASP.NET
日付:2009年1月7日水曜日15:08:32 GMT
ため息。基本ですが、現在は基本レルムがIISサーバーに変更されています。したがって、サーバー全体を基本レルムであるDaily Control Moduleに対して認証するように設定すると、次のようになります。
HTTP / 1.1 401 Unauthorized
日付:2009年1月7日水曜日15:11:45 GMT
サーバー:Microsoft-IIS / 6.0
WWW-Authenticate:Basic realm =" Daily Control Module"
X-Powered-By:ASP.NET
プラグマ:キャッシュなし
Cache-Control:no-cache
有効期限:水、1969年12月31日19:00:00 EST
WWW-Authenticate:Basic realm =" Daily Control Module"
コンテンツタイプ:text / html; charset = utf-8
コンテンツの長さ:954
2つのWWW-Authヘッダーに奇妙なことはありませんか?とにかく、ドメインを指定するかどうかにかかわらず、Tomcatに対して直接機能する同じunpwを使用した認証は失敗します。
現時点では:
+アノンはオフです
+統合Windows認証はオフです
+基本認証はオンで、レルムは日次制御モジュールとして構成されています
見てくれてありがとう。
解決
ディレクトリセキュリティの構成は何ですか?
基本認証のみが有効になっていますか?
その他のポイントは。多分iisレベルでは、匿名認証を使用する必要があります。そして、Tomcatは基本認証の交換を実装しますか?
(投稿したヘッダーから)問題の原因は、.netクライアントがサイトがntlm認証をサポートしていることを認識していることです。そして、そのプロトコルで認証を試みてください。 Javaクライアントはntlmオプションを無視しているだけなので、サイトがサポートする他の認証プロトコルを使用します。
サイトおよびファイルレベルで統合認証が有効になっていないことを確認する必要があります。