クライアント資格情報を受け取り、認証方法に基づいてある種の役割ベースのデータを維持する必要がある WCF サービスがあります。
クライアントは多くの異なるシステムに常駐するため、各クライアントには一意のユーザー ID とパスワードがあります。
私は basicHttpBinding を使用しており、次のような記事をいくつか読みました 。 -channelfactory-interface/、プロセスを説明します。
だから私が探しているのは、誰かがこのように構成された完全なクライアント/サーバーを持っているかどうかです。
私がやりたいのは、各リクエストのヘッダーにユーザー名とパスワードを渡して、失敗した場合は何らかの SecurityTokenValidationException を返すか、渡した場合は続行することです。
ありがとう。
アップデート
クライアントとサーバーの両方で、次の構成で wsHttpbinding を使用しています。
<wsHttpBinding>
<binding name="wsHttpEndpointBinding" >
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="Basic" />
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
クライアントからサーバーへの呼び出しは次のようになります。
ServiceReference1.ServiceClient myClient = new ServiceReference1.ServiceClient();
myClient.ClientCredentials.UserName.UserName = "billuser";
myClient.ClientCredentials.UserName.Password = "mypassword";
Response.Write("Data from WCF Service: " + myClient.GetData(1));
サーバーで CustomUsernamePasswordValidator をリンクするには、「... アクティブにできませんでした」というメッセージがまだ表示されるので、少し手を加える必要があると思います。エラー。