別のサーバーの .ASHX 内から WCF 経由で SharePoint Web サービスを呼び出そうとしています。私のコードは、Visual Studio のデバッグ Web サーバー内で実行すると機能しますが、IIS からは機能しません。動作中のサーバーはさまざまな認証モード (Kerberos、NTLM) で動作し、動作していないサーバーはどの認証モードでも動作しません。どちらの場合も同じユーザーになりすましています。
NTLM を使用して、Wireshark で動作中のセッションと非動作中のセッションを記録しました。作業中のものでは、Wireshark は NTLM データを解析し、私が期待するドメインとユーザー名を報告します。動作していないものでは、それは示しています
DOMAIN: NULL
USER NAME: NULL
IIS でデバッグしましたが、偽装はサービス呼び出しの時点で確実に機能しています。をチェックするWindowsIdentity.GetCurrent()
と、それは私が期待するユーザーです。
動作しているサーバーと動作していないサーバーで WCF サービス プロキシを調べると、同じように見えます。ClientCredentials を処理する部分は""
、両方のバージョンのユーザー名とパスワードに設定されています。
他に何を確認するかについてのアイデアはありますか?NTLM データの DOMAIN と USER NAME が NULL に設定されているのはなぜですか? それはどこから取得されますか?