Поделиться через


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)

Зарезервировано для будущего использования.

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