2

問題が何であるかを把握するために、すでに多くの時間を費やしてきました。デスクトップ コンソール アプリケーションから WCF サービスを使用すると、このエラーが発生します。Silverlight クライアントを使用してブラウザーからアクセスすると、サービスは正常に動作します。

エラーメッセージ:

System.ServiceModel.Security.MessageSecurityException: HTTP 要求は、クライアント認証スキーム 'Negotiate' で承認されていません。サーバーから受信した認証ヘッダーは「Negotiate,NTLM」でした。

クライアントとサーバーの両方が同じ認証スキーム「ネゴシエート」を持っていても、なぜ機能しないのかわかりません。HTTP 401 を取得しています。

同じクライアント構成を使用して Silverlight クライアントで動作するため、クライアントとサーバーの構成が正しいことを確認しました。

IIS7 Web サイトは、プロバイダー 'Negotiate,NTLM' を使用した Windows 認証で構成されています。

では、このエラー メッセージは何を意味するのでしょうか。:(

4

1 に答える 1

0

クライアント セキュリティを設定して、WCF の問題を修正しました。
client.ClientCredentials.Windows.ClientCredential = System.Net.CredentialCache.DefaultNetworkCredentials;
client.ClientCredentials.Windows.AllowedImpersonationLevel = System.Security.Principal.TokenImpersonationLevel.Impersonation;

于 2016-08-18T14:57:43.870 に答える