2013-02-26 2 views
8

私はWCFプロキシを使ってサービスを呼び出すクライアントを持っています。資格情報などの機能は正常に動作しますが、ユーザーがドメインパスワードを変更してアプリを再起動した場合、このエラーのためサービスを呼び出すことができません:WCFとDefaultCredentialsを使用しているときのパスワード変更をどのように処理しますか?

System.ServiceModel.Security.SecurityNegotiaionException - >サーバーがクライアントの資格情報を拒否しました。

System.Security.Authentication.InvalidCredentialException - >サーバーがクライアントの資格情報を拒否しました。

System.componentmodel.Win32Exception - >ログオンに失敗しました。

明らかに私はユーザーの資格情報が変更されていることを知っていますが、CredentialCacheを更新してWCF呼び出しが成功するように新しい資格情報を反映するにはどうすればよいですか?

+0

via @Ryblex: "あなたのアプリを再起動すると、AppPoolを含むWCF Services Appを意味するのですか?" [文法のために編集された] – Gray

答えて

6

サービスは、クライアントコンテキスト内のトークンをADに対してチェックします。 wcfクライアントは、ユーザーがWindowsアカウントにログインしたときに受け取る既存のWindowsトークンを使用します。パスワードを変更すると、Windowsセッションは引き続き古い資格情報で実行されます。キャッシュされた資格情報を更新するには、Windowsセッションにログインしてログアウトする必要があります。

関連する問題