2011-12-23 10 views
2

NTLMを使用した統合認証となりすましを使用して、IIS 6上で実行されているWCFサービスがあります。 のWeb.ConfigのNtlmとNTLMのWCFの違いは何ですか?どのように修正できますか?

関連する部分

<system.web> 
    <identity impersonate="true"/> 
    <customErrors mode="Off"></customErrors> 
    </system.web> 
    <system.serviceModel> 
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" /> 
    ... 
    </system.web> 
    ... 
    <wsHttpBinding> 
    <binding name="wsHttpEndpointBinding"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Ntlm" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 

私は、ユーザーがそれは(少なくとも限りIISが懸念している)にログインしていますが誰であるかを知りたいので、私はちょうどaspNetCompatibilityを追加しました。私がやったいくつかの検索から、そのユーザーを取得する方法です。まあ

、その行を追加し、私のサーバーを公開した後、私はおそらく私が見てきた愚かな誤りだものを手に入れる:

The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'.

私はまあ、明らかに、彼らは非常に大文字と小文字を区別して比較をやっている」、と思いました。 "そこで、Ntlmのクライアントソリューション全体を検索して、すべての非可変のオカレンスをNTLMに置き換えました。運がない。

もちろん、私の主な目標は、IIS + NTLMで認証されたユーザーを取得することです。私が間違った方向に進んでいるなら、私はより簡単で良い方法を知ってうれしいです。それ以外の場合、クライアント(またはサーバー)に、認証しても問題ないことをどのように伝えることができますか?

+0

あなたのトランスポートは現在clientCredentialType = "NTLM"で、クライアントの設定ファイルを更新しましたか? – Josh

+0

あなたのソリューションは何でしたか? –

答えて

-1

開始Here。これで問題が解決されるはずです

+0

すばらしいリンク。ブックマークされました。 – x0n

+1

これは答えではなく、リンクです。この場合の解決策は何が解決されましたか? –

2

NTLMのループバックチェックで問題が発生していることが原因でこのエラーが発生した場合は、もう1つの可能性があります。私は非ドメイン(ワークグループ)サーバー上で自己完結して実行されるサービスを持っています。 WCFは、トランスポートセキュリティモードのBasicHttpBindingとNtlmクライアント資格情報を使用して構成されます。 https://servernameを使用してサービスにアクセスしようとするとうまくいく。私はFQDN(https://servername.domain.com)を使用してアクセスしようとした場合には、同じエラーで失敗します。

The HTTP request is unauthorized with client authentication scheme 'Ntlm'. The authentication header received from the server was 'NTLM'. 

あなたは、Windowsのセキュリティログ内で見れば、あなたがこの中でイベントID 4625.と監査の失敗が表示されますが表示されます次の障害情報:

Failure Information: 
Failure Reason: An Error occured during Logon. 
Status:   0xc000006d 
Sub Status:  0x0 

これを解決するには、add the back connect host names (preferred) or disable the loopback checkが必要です。これは、Windows Server 2003 SP1以降のNTLMに追加されたセキュリティ強化機能で、プロトコルに対する攻撃の影響を排除します。しかし、この修正により、WCFのような不明なエラーメッセージが多数発生し、今日まで多くのわかりにくい方法で私を悩ませ続けています。

関連する問題