ClientCredentials クラス


クライアントとサービスの資格情報、および、クライアント側の通信で使用するサービス資格情報の認証設定をユーザーが構成できるようにします。Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication.

public ref class ClientCredentials : System::ServiceModel::Description::IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Description.IEndpointBehavior
type ClientCredentials = class
    interface IEndpointBehavior
Public Class ClientCredentials
Implements IEndpointBehavior

このクラスをオーバーライドし、カスタム セキュリティ トークン マネージャーを含む独自のカスタム クライアント資格情報を実装する方法を、次のコード例に示します。The following code sample shows how to override this class and implement your own custom client credentials that includes a custom security token manager.


カスタム セキュリティ トークン マネージャーを作成するために、CreateSecurityTokenManager メソッドがオーバーライドされることに注意する必要があります。It is important to note that the CreateSecurityTokenManager method is overridden to create a custom security token manager. ClientCredentialsSecurityTokenManager から派生したセキュリティ トークン マネージャーは、The security token manager, derived from ClientCredentialsSecurityTokenManager. 実際のセキュリティ トークンを作成するために、SecurityTokenProvider から派生したカスタム セキュリティ トークン プロバイダーを返す必要があります。must return a custom security token provider, derived from SecurityTokenProvider, to create the actual security token. このパターンに従ってセキュリティ トークンを作成しないと、アプリケーションがセキュリティ攻撃のリスク、特に権限の昇格のリスクにさらされます。If you do not follow this pattern for creating security tokens, your application will be at risk for security attacks, specifically elevation of privileges. このコーディング パターンによって、チャネル ファクトリがキャッシュされるときに正しい資格情報が使用されるようになります。This coding pattern ensures that the correct credentials are used when channel factories are cached.

public class MyClientCredentials : ClientCredentials
    string creditCardNumber;

    public MyClientCredentials()
        // Perform client credentials initialization.

    protected MyClientCredentials(MyClientCredentials other)
        : base(other)
        // Clone fields defined in this class.
        this.creditCardNumber = other.creditCardNumber;

    public string CreditCardNumber
            return this.creditCardNumber;
            if (value == null)
                throw new ArgumentNullException("value");
            this.creditCardNumber = value;

    public override SecurityTokenManager CreateSecurityTokenManager()
        // Return your implementation of the SecurityTokenManager.
        return new MyClientCredentialsSecurityTokenManager(this);

    protected override ClientCredentials CloneCore()
        // Implement the cloning functionality.
        return new MyClientCredentials(this);
Public Class MyClientCredentials
    Inherits ClientCredentials
    Private creditCardNumberValue As String

    Public Sub New() 
    End Sub
    ' Perform client credentials initialization.    
    Protected Sub New(ByVal other As MyClientCredentials) 
        ' Clone fields defined in this class.
        Me.creditCardNumberValue = other.creditCardNumberValue
    End Sub

    Public Property CreditCardNumber() As String 
            Return Me.creditCardNumberValue
        End Get
            If value Is Nothing Then
                Throw New ArgumentNullException("value")
            End If
            Me.creditCardNumberValue = value
        End Set
    End Property

    Public Overrides Function CreateSecurityTokenManager() As SecurityTokenManager 
        ' Return your implementation of the SecurityTokenManager.
        Return New MyClientCredentialsSecurityTokenManager(Me)
    End Function
    Protected Overrides Function CloneCore() As ClientCredentials 
        ' Implement the cloning functionality.
        Return New MyClientCredentials(Me)
    End Function
End Class


ClientCredentials には、ClientCredentials クラスの ClientBase<TChannel> プロパティを使用してアクセスします。The ClientCredentials is accessed through the ClientCredentials property of the ClientBase<TChannel> class.

ClientCredentials オブジェクトは、Behaviors コレクションに追加されます。A ClientCredentials object is added to the Behaviors collection. @No__t-0 プロパティは、そのコレクション内のエントリに対するファサード(既知のデザインパターン) です。The ClientCredentials property is a Façade (a well-known design pattern) over an entry in that collection. このクラスのプロパティの多くは、主にプロパティで構成されるオブジェクトを返します。Many properties in this class return objects that consist mainly of properties. これらのオブジェクトを、構成に使用できます。オブジェクトを get した後で、それを使用してそのメンバーを呼び出すことにより、プロパティを set できます。These objects can be used for configuration: once you get the object, you can use it to set properties by calling its members.



ClientCredentials クラスの新しいインスタンスを初期化します。Initializes a new instance of the ClientCredentials class.


これはコピー コンストラクターです。This is a copy constructor.



クライアントがサービスに対して自身を認証するために使用する X.509 証明書を提供するオブジェクトを取得します。Gets an object that you can use to provide the X.509 certificate that the client uses to authenticate to the service.


現在の HTTP ダイジェスト資格情報を取得します。Gets the current HTTP Digest credential.


このプロパティを使用して、ローカル セキュリティ トークン サービスに接続するときに使用するエンドポイントのアドレスとバインディングを指定します。Use this property to specify the endpoint address and binding to use when contacting your local Security Token Service. この情報は、発行されたトークンを使用する認証がサービスで必要だが、発行されたトークンを取得する方法と場所が (クライアント上のバインディングとして表される) サービスのポリシーで明示的に指定されていない場合に使用されます。This information is used when a service requires authentication using an issued token, but the policy of the service (represented as a binding on the client) does not explicitly specify how and where to obtain the issued token.


ピア ノードがメッシュ内の他のノードに対して自身を認証するために使用する資格情報と、ピア ノードが他のピア ノードを認証するために使用する認証設定を制御します。Controls the credentials that a peer node uses to authenticate itself to other nodes in the mesh, as well as authentication settings that a peer node uses to authenticate other peer nodes.


クライアント資格情報のセキュリティ トークン ハンドラーを取得または設定します。Gets or sets the security token handler for the client credential.


サービスの X.509 証明書を指定するために使用するオブジェクトを取得します。Gets an object used to specify a service's X.509 certificate.


必要に応じてシステムがユーザーに対話的に資格情報を要求できるようにするかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the system is allowed to interactively prompt the user for credentials when necessary. たとえば、中間層シナリオでは false に設定する必要があります。For example, setting it to false might be desired in middle-tier scenarios.


クライアント資格情報で identity 構成を使用するかどうかを取得または設定します。Gets or sets whether the client credentials uses identity configuration.


クライアントがサービスに対して自身を認証するために使用するユーザー名とパスワードを設定するために使用する資格情報オブジェクトを取得します。Gets a credential object that you can use to set the user name and password that the client uses to authenticate itself to the service.


クライアントがサービスに対して自身を認証するために使用する Windows 資格情報の制御に使用されるオブジェクトを取得します。Gets an object used to control the Windows credential that the client uses to authenticate itself to the service.


ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

指定したクライアント動作をエンドポイントに適用します。Applies the specified client behavior to the endpoint.


この ClientCredentials インスタンスの新しいコピーを作成します。Creates a new copy of this ClientCredentials instance.


この ClientCredentials インスタンスの新しいコピーを作成します。Creates a new copy of this ClientCredentials instance.


このインスタンスのセキュリティ トークン マネージャーを作成します。Creates a security token manager for this instance. このメソッドを明示的に呼び出すことはほとんどありません。このメソッドは主に拡張シナリオで使用され、システム自体によって呼び出されます。This method is rarely called explicitly; it is primarily used in extensibility scenarios and is called by the system itself.


指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetInfoCardSecurityToken(Boolean, CardSpacePolicyElement[], SecurityTokenSerializer)

CardSpaceCardSpace システムを使用し、ポリシー チェーンおよびトークン シリアライザーを指定して、セキュリティ トークンを生成して返します。Generates and returns a security token using the CardSpaceCardSpace system and the specified policy chain and token serializer.


現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)


IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

バインディング パラメーターのコレクションにこのクラスのこのインスタンスを追加します。Adds this instance of this class to a binding parameter collection.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

エンドポイント全体にわたってサービスの変更または拡張を実装します。Implements a modification or extension of the service across an endpoint.


将来使用するために予約されています。Reserved for future use.