SpnEndpointIdentity Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un nome dell'entità servizio (SPN) per un'identità quando l'associazione usa Kerberos.
public ref class SpnEndpointIdentity : System::ServiceModel::EndpointIdentity
public class SpnEndpointIdentity : System.ServiceModel.EndpointIdentity
type SpnEndpointIdentity = class
inherit EndpointIdentity
Public Class SpnEndpointIdentity
Inherits EndpointIdentity
- Ereditarietà
Esempio
Il codice seguente illustra un modo comune per creare un'istanza di questa classe.
static EndpointIdentity CreateIdentity()
{
WindowsIdentity self = WindowsIdentity.GetCurrent();
SecurityIdentifier sid = self.User;
EndpointIdentity identity = null;
if (sid.IsWellKnown(WellKnownSidType.LocalSystemSid) ||
sid.IsWellKnown(WellKnownSidType.NetworkServiceSid) ||
sid.IsWellKnown(WellKnownSidType.LocalServiceSid))
{
identity = EndpointIdentity.CreateSpnIdentity(
string.Format(CultureInfo.InvariantCulture, "host/{0}", GetMachineName()));
}
else
{
// Need an UPN string here
string domain = GetPrimaryDomain();
if (domain != null)
{
string[] split = self.Name.Split('\\');
if (split.Length == 2)
{
identity = EndpointIdentity.CreateUpnIdentity(split[1] + "@" + domain);
}
}
}
return identity;
}
Private Shared Function CreateIdentity() As EndpointIdentity
Dim self As WindowsIdentity = WindowsIdentity.GetCurrent()
Dim sid As SecurityIdentifier = self.User
Dim identity As EndpointIdentity = Nothing
If sid.IsWellKnown(WellKnownSidType.LocalSystemSid) OrElse sid.IsWellKnown(WellKnownSidType.NetworkServiceSid) OrElse sid.IsWellKnown(WellKnownSidType.LocalServiceSid) Then
identity = EndpointIdentity.CreateSpnIdentity(String.Format(CultureInfo.InvariantCulture, "host/{0}", GetMachineName()))
Else
' Need an UPN string here
Dim domain As String = GetPrimaryDomain()
If domain IsNot Nothing Then
Dim split() As String = self.Name.Split("\"c)
If split.Length = 2 Then
identity = EndpointIdentity.CreateUpnIdentity(split(1) & "@" & domain)
End If
End If
End If
Return identity
End Function
Commenti
Un SPN è il nome in base al quale un client identifica in modo univoco un'istanza di un servizio. Se si installano più istanze di un servizio in computer in una foresta, ogni istanza deve avere un nome SPN specifico. Una determinata istanza del servizio può avere più nomi SPN se sono presenti più nomi che i client possono usare per l'autenticazione.
Quando un client vuole connettersi a un servizio, individua un'istanza del servizio, compone un nome SPN per tale istanza e imposta l'identità su un SpnEndpointIdentityoggetto . Verrà eseguito un controllo che indica che il messaggio è destinato a tale servizio.
Le tre modalità di autenticazione usate in Kerberos sono:
SSPINegotiate
Kerberos
KerberosOverTransport.
Costruttori
| Nome | Descrizione |
|---|---|
| SpnEndpointIdentity(Claim) |
Inizializza una nuova istanza di SpnEndpointIdentity con l'attestazione identity specificata. |
| SpnEndpointIdentity(String) |
Inizializza una nuova istanza di SpnEndpointIdentity con il nome dell'entità servizio (SPN) specificato. |
Proprietà
| Nome | Descrizione |
|---|---|
| IdentityClaim |
Ottiene l'attestazione di identità che corrisponde all'identità. (Ereditato da EndpointIdentity) |
| SpnLookupTime |
Specifica il tempo massimo consentito per cercare il nome dell'entità servizio (SPN). |
Metodi
| Nome | Descrizione |
|---|---|
| Equals(Object) |
Restituisce un valore che determina se un oggetto specificato è uguale all'oggetto Identity corrente o se hanno proprietà di sicurezza uguali. (Ereditato da EndpointIdentity) |
| GetHashCode() |
Fornisce un codice hash per l'istanza corrente dell'identità. (Ereditato da EndpointIdentity) |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| Initialize(Claim, IEqualityComparer<Claim>) |
Inizializza un oggetto EndpointIdentity con l'attestazione specificata e un'interfaccia e confronta l'uguaglianza. (Ereditato da EndpointIdentity) |
| Initialize(Claim) |
Inizializza un oggetto EndpointIdentity con l'attestazione specificata. (Ereditato da EndpointIdentity) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| ToString() |
Restituisce l'identità. (Ereditato da EndpointIdentity) |