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)

驗證服務描述。 這是基礎結構方法,無法直接呼叫。

適用於