ServiceCredentials 类

定义

配置服务凭据。 使用此类可指定服务的凭据,如 X.509 证书。 此外,使用此类还可指定各种客户端凭据的验证模式,如用户名和密码验证。

public ref class ServiceCredentials : System::ServiceModel::Security::SecurityCredentialsManager, System::ServiceModel::Description::IServiceBehavior
public class ServiceCredentials : System.ServiceModel.Security.SecurityCredentialsManager, System.ServiceModel.Description.IServiceBehavior
type ServiceCredentials = class
    inherit SecurityCredentialsManager
    interface IServiceBehavior
Public Class ServiceCredentials
Inherits SecurityCredentialsManager
Implements IServiceBehavior
继承
ServiceCredentials
实现

示例

下面的代码演示如何重写此类,以实现自定义服务凭据。

public class MyServiceCredentials : ServiceCredentials
{
    X509Certificate2 additionalCertificate;

    public MyServiceCredentials()
    {
    }

    protected MyServiceCredentials(MyServiceCredentials other)
        : base(other)
    {
        this.additionalCertificate = other.additionalCertificate;
    }

    public X509Certificate2 AdditionalCertificate
    {
        get
        {
            return this.additionalCertificate;
        }
        set
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }
            this.additionalCertificate = value;
        }
    }

    public override SecurityTokenManager CreateSecurityTokenManager()
    {
        return base.CreateSecurityTokenManager();
    }

    protected override ServiceCredentials CloneCore()
    {
        return new MyServiceCredentials(this);
    }
}
Public Class MyServiceCredentials
    Inherits ServiceCredentials
    Private additionalCertificateValue As X509Certificate2

    Public Sub New() 
    
    End Sub

    Protected Sub New(ByVal other As MyServiceCredentials) 
        MyBase.New(other)
        Me.additionalCertificate = other.additionalCertificate
    End Sub
    
    
    Public Property AdditionalCertificate() As X509Certificate2 
        Get
            Return Me.additionalCertificateValue
        End Get
        Set
            If value Is Nothing Then
                Throw New ArgumentNullException("value")
            End If
            Me.additionalCertificateValue = value
        End Set
    End Property

    Public Overrides Function CreateSecurityTokenManager() As SecurityTokenManager 
        Return MyBase.CreateSecurityTokenManager()
    
    End Function
    
    
    Protected Overrides Function CloneCore() As ServiceCredentials 
        Return New MyServiceCredentials(Me)
    
    End Function
End Class

注解

此类通过 BuildChannelListenerCore 用作 ServiceCredentialsSecurityTokenManager 方法中的参数,并且由 ServiceHostBase.Credentials 属性返回。

构造函数

ServiceCredentials()

初始化 ServiceCredentials 类的新实例。

ServiceCredentials(ServiceCredentials)

从指定 ServiceCredentials 初始化 ServiceCredentials 的新实例。

属性

ClientCertificate

获取此服务的当前客户端证书身份验证和配置设置。

ExceptionMapper

获取或设置与服务凭据关联的异常映射器。

IdentityConfiguration

获取或设置服务的标识配置。

IssuedTokenAuthentication

获取此服务的当前颁发的令牌(例如,SAML)身份验证设置。

Peer

获取要由服务上配置的对等传输终结点使用的当前凭据身份验证和配置设置。

SecureConversationAuthentication

获取要由安全对话使用的当前设置。

ServiceCertificate

获取与此服务关联的当前证书。

UseIdentityConfiguration

获取或设置服务凭据是否使用标识配置。

UserNameAuthentication

获取此服务的当前用户名/密码身份验证设置。

WindowsAuthentication

获取此服务的当前 Windows 身份验证设置。

方法

Clone()

创建当前实例的副本。

CloneCore()

复制当前实例的必要成员。

CreateSecurityTokenManager()

为此服务创建令牌管理器。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

将此实例添加到绑定参数集合。 这是一个基础结构方法,不要直接调用此方法。

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

应用调度行为。 这是一个基础结构方法,不要直接调用此方法。

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

验证服务说明。 这是一个基础结构方法,不要直接调用此方法。

适用于