ClientCredentials Klasse

Definition

Ermöglicht es dem Benutzer, die Client- und Dienstanmeldeinformationen sowie die auf der Clientseite der Kommunikation zu verwendenden Authentifizierungseinstellungen für die Dienstanmeldeinformationen zu konfigurieren.

public ref class ClientCredentials : System::ServiceModel::Description::IEndpointBehavior
public ref class ClientCredentials : System::ServiceModel::Security::SecurityCredentialsManager, System::ServiceModel::Description::IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Description.IEndpointBehavior
public class ClientCredentials : System.ServiceModel.Security.SecurityCredentialsManager, System.ServiceModel.Description.IEndpointBehavior
type ClientCredentials = class
    interface IEndpointBehavior
type ClientCredentials = class
    inherit SecurityCredentialsManager
    interface IEndpointBehavior
Public Class ClientCredentials
Implements IEndpointBehavior
Public Class ClientCredentials
Inherits SecurityCredentialsManager
Implements IEndpointBehavior
Vererbung
ClientCredentials
Vererbung
Abgeleitet
Implementiert

Beispiele

Im folgenden Codebeispiel wird gezeigt, wie Sie diese Klasse überschreiben und Ihre eigenen benutzerdefinierten Clientanmeldeinformationen mit einem benutzerdefinierten Clientsicherheitstoken-Manager implementieren.

Wichtig

Wichtig: Beachten Sie, dass die CreateSecurityTokenManager-Methode überschrieben wird, um einen benutzerdefinierten Sicherheitstokenmanager zu erstellen. Der vom ClientCredentialsSecurityTokenManager abgeleitete Sicherheitstokenmanager muss einen benutzerdefinierten Sicherheitstokenanbieter zurückgeben, der vom SecurityTokenProvider abgeleitet wurde, um das eigentliche Sicherheitstoken zu erstellen. Wenn Sie diesem Muster zum Erstellen von Sicherheitstokens nicht folgen, läuft die Anwendung Gefahr, Sicherheitsangriffen (insbesondere Rechteerweiterungen) ausgesetzt zu sein. Dieses Codierungsmuster stellt sicher, dass die richtigen Anmeldeinformationen verwendet werden, wenn Channelfactorys zwischengespeichert werden.

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
    {
        get
        {
            return this.creditCardNumber;
        }
        set
        {
            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) 
        MyBase.New(other)
        ' Clone fields defined in this class.
        Me.creditCardNumberValue = other.creditCardNumberValue
    
    End Sub

    Public Property CreditCardNumber() As String 
        Get
            Return Me.creditCardNumberValue
        End Get
        Set
            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

Hinweise

Der Zugriff auf die ClientCredentials erfolgt über die ClientCredentials-Eigenschaft der ClientBase<TChannel>-Klasse.

Der ClientCredentials-Auflistung wird ein Behaviors-Objekt hinzugefügt. Die ClientCredentials Eigenschaft ist eine Fassade (ein bekanntes Designmuster) über einen Eintrag in dieser Auflistung. Viele Eigenschaften in diesen Klassen geben Objekte zurück, die hauptsächlich aus Eigenschaften bestehen. Diese Objekte können für die Konfiguration verwendet werden: Nach dem get des Objekts können Sie es durch Aufrufen seiner Member zum set von Eigenschaften verwenden.

Konstruktoren

ClientCredentials()

Initialisiert eine neue Instanz der ClientCredentials-Klasse.

ClientCredentials(ClientCredentials)

Dies ist ein Kopierkonstruktor.

Eigenschaften

ClientCertificate

Ruft ein Objekt ab, mit dem Sie das vom Client für die Authentifizierung des Diensts verwendete X.509-Zertifikat bereitstellen können.

HttpDigest

Ruft die aktuellen HTTP-Hashwertanmeldeinformationen ab.

IssuedToken

Geben Sie mithilfe dieser Eigenschaft die Endpunktadresse und die Bindung an, die beim Kontaktieren des lokalen Sicherheitstokendiensts verwendet werden sollen. Diese Informationen werden verwendet, wenn ein Dienst die Authentifizierung mit einem ausgestellten Token erfordert. In der Richtlinie des Diensts (durch eine Bindung auf dem Client dargestellt) ist jedoch nicht explizit angegeben, wie und wo das ausgestellte Token abgerufen werden kann.

Peer

Steuert die Anmeldeinformationen, mit denen sich ein Peerknoten gegenüber anderen Knoten im Netz authentifiziert, sowie die Authentifizierungseinstellungen, mit denen ein Peerknoten andere Peerknoten authentifiziert.

SecurityTokenHandlerCollectionManager

Ruft den Sicherheitstokenhandler für die Clientanmeldeinformationen ab oder legt diesen fest.

ServiceCertificate

Ruft ein Objekt ab, mit dem das X.509-Zertifikat eines Diensts angegeben wird.

SupportInteractive

Dient zum Abrufen oder Festlegen eines Werts, der angibt, ob das System den Benutzer ggf. interaktiv zur Eingabe von Anmeldeinformationen auffordern darf. Bei einem Szenario der mittleren Ebene könnte es z.&#160;B. wünschenswert sein, den Wert auf false festzulegen.

UseIdentityConfiguration

Ruft ab oder legt fest, ob die Clientanmeldeinformationen die Identitätskonfiguration verwenden.

UserName

Ruft ein Anmeldeinformationsobjekt ab, mit dem Sie den Benutzernamen und das Kennwort festlegen können, die der Client verwendet, um sich dem Dienst gegenüber zu authentifizieren.

Windows

Ruft ein Objekt zur Steuerung der Windows-Anmeldeinformationen ab, die der Client verwendet, um sich dem Dienst gegenüber zu authentifizieren.

Methoden

ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Wendet das angegebene Clientverhalten auf den Endpunkt an.

Clone()

Erstellt eine neue Kopie dieser ClientCredentials-Instanz.

CloneCore()

Erstellt eine neue Kopie dieser ClientCredentials-Instanz.

CreateSecurityTokenManager()

Erstellt einen Sicherheitstoken-Manager für diese Instanz. Diese Methode wird nur selten explizit aufgerufen. In der Regel wird sie in Szenarien zur Erweiterbarkeit verwendet und vom System selbst aufgerufen.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetInfoCardSecurityToken(Boolean, CardSpacePolicyElement[], SecurityTokenSerializer)

Generiert und gibt ein Sicherheitstoken mithilfe des CardSpace-Systems und der angegebenen Richtlinienkette und token serializer zurück.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Fügt diese Instanz dieser Klasse einer Bindungsparameterauflistung hinzu.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Implementiert eine Änderung oder eine Erweiterung des Diensts in einem Endpunkt.

IEndpointBehavior.Validate(ServiceEndpoint)

Für zukünftige Verwendung reserviert.

Gilt für