Бөлісу құралы:


ClientCredentials Класс

Определение

Позволяет пользователю настраивать учетные данные клиента и службы, а также параметры проверки подлинности учетных данных службы для использования на стороне клиента связи.

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
Наследование
ClientCredentials
Наследование
Производный
Реализации

Примеры

В следующем примере кода показано, как переопределить этот класс и реализовать собственные пользовательские учетные данные клиента, которые включают в себя пользовательский диспетчер маркеров безопасности.

Это важно

Важно отметить, что CreateSecurityTokenManager метод переопределяется для создания пользовательского диспетчера маркеров безопасности. Диспетчер маркеров безопасности, производный от ClientCredentialsSecurityTokenManager. должен возвращать пользовательский поставщик маркеров безопасности, производный от SecurityTokenProvider, чтобы создать фактический маркер безопасности. Если вы не следуйте этому шаблону для создания маркеров безопасности, ваше приложение будет подвержено риску атак безопасности, в частности, повышение привилегий. Этот шаблон кодирования гарантирует, что правильные учетные данные используются при кэшировании фабрик каналов.

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

Комментарии

Доступ ClientCredentials осуществляется через ClientCredentials свойство ClientBase<TChannel> класса.

Объект ClientCredentials добавляется в коллекцию Behaviors . Свойство ClientCredentials является фасадом (хорошо известным шаблоном дизайна) над записью в этой коллекции. Многие свойства в этом классе возвращают объекты, состоящие главным образом из свойств. Эти объекты можно использовать для настройки: после get того как объект можно использовать для set свойств, вызывая его члены.

Конструкторы

Имя Описание
ClientCredentials()

Инициализирует новый экземпляр класса ClientCredentials.

ClientCredentials(ClientCredentials)

Это конструктор копирования.

Свойства

Имя Описание
ClientCertificate

Возвращает объект, который можно использовать для предоставления сертификата X.509, который клиент использует для проверки подлинности в службе.

HttpDigest

Возвращает текущие учетные данные дайджеста HTTP.

IssuedToken

Используйте это свойство, чтобы указать адрес конечной точки и привязку для использования при обращении к локальной службе маркеров безопасности. Эти сведения используются, если служба требует проверки подлинности с помощью выданного маркера, но политика службы (представленная как привязка клиента) явно не указывает, как и где получить выданный маркер.

Peer

Управляет учетными данными, которые одноранговый узел использует для проверки подлинности на других узлах в сетке, а также параметры проверки подлинности, которые использует одноранговый узел для проверки подлинности других одноранговых узлов.

SecurityTokenHandlerCollectionManager

Возвращает или задает обработчик маркера безопасности для учетных данных клиента.

ServiceCertificate

Возвращает объект, используемый для указания сертификата X.509 службы.

SupportInteractive

Возвращает или задает значение, указывающее, разрешено ли системе интерактивно запрашивать учетные данные пользователя при необходимости. Например, можно задать его в false сценариях среднего уровня.

UseIdentityConfiguration

Возвращает или задает, используются ли учетные данные клиента конфигурацией удостоверений.

UserName

Возвращает объект учетных данных, который можно использовать для задания имени пользователя и пароля, используемого клиентом для проверки подлинности в службе.

Windows

Получает объект, используемый для управления учетными данными Windows, которые клиент использует для проверки подлинности в службе.

Методы

Имя Описание
ApplyClientBehavior(ServiceEndpoint, ClientRuntime)

Применяет указанное поведение клиента к конечной точке.

Clone()

Создает новую копию этого ClientCredentials экземпляра.

CloneCore()

Создает новую копию этого ClientCredentials экземпляра.

CreateSecurityTokenManager()

Создает диспетчер маркеров безопасности для этого экземпляра. Этот метод редко вызывается явным образом; он в основном используется в сценариях расширяемости и вызывается самой системой.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetInfoCardSecurityToken(Boolean, CardSpacePolicyElement[], SecurityTokenSerializer)

Создает и возвращает маркер безопасности с помощью системы CardSpace и указанной цепочки политик и сериализатора маркеров.

GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

Имя Описание
IEndpointBehavior.AddBindingParameters(ServiceEndpoint, BindingParameterCollection)

Добавляет этот экземпляр этого класса в коллекцию параметров привязки.

IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint, EndpointDispatcher)

Реализует изменение или расширение службы в конечной точке.

IEndpointBehavior.Validate(ServiceEndpoint)

Зарезервировано для дальнейшего использования.

Применяется к