SpnEndpointIdentity Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje nazwę główną usługi (SPN) dla tożsamości, gdy powiązanie używa protokołu Kerberos.
public ref class SpnEndpointIdentity : System::ServiceModel::EndpointIdentity
public class SpnEndpointIdentity : System.ServiceModel.EndpointIdentity
type SpnEndpointIdentity = class
inherit EndpointIdentity
Public Class SpnEndpointIdentity
Inherits EndpointIdentity
- Dziedziczenie
Przykłady
Poniższy kod przedstawia jeden typowy sposób tworzenia wystąpienia tej klasy.
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
Uwagi
Nazwa SPN to nazwa, za pomocą której klient jednoznacznie identyfikuje wystąpienie usługi. Jeśli instalujesz wiele wystąpień usługi na komputerach w lesie, każde wystąpienie musi mieć własną nazwę SPN. Dane wystąpienie usługi może mieć wiele nazw SPN, jeśli istnieje wiele nazw, których klienci mogą używać do uwierzytelniania.
Gdy klient chce nawiązać połączenie z usługą, lokalizuje wystąpienie usługi, tworzy nazwę SPN dla tego wystąpienia i ustawia tożsamość na SpnEndpointIdentity. Zostanie wykonane sprawdzenie, czy wiadomość jest przeznaczona dla tej usługi.
Trzy tryby uwierzytelniania używane w ramach protokołu Kerberos to:
SSPINegotiate
Kerberos
KerberosOverTransport.
Konstruktory
SpnEndpointIdentity(Claim) |
Inicjuje nowe wystąpienie przy SpnEndpointIdentity użyciu określonego oświadczenia tożsamości. |
SpnEndpointIdentity(String) |
Inicjuje SpnEndpointIdentity nowe wystąpienie z określoną nazwą główną usługi (SPN). |
Właściwości
IdentityClaim |
Pobiera oświadczenie tożsamości, które odpowiada tożsamości. (Odziedziczone po EndpointIdentity) |
SpnLookupTime |
Określa maksymalny czas wyszukiwania nazwy głównej usługi (SPN). |
Metody
Equals(Object) |
Zwraca wartość określającą, czy określony obiekt jest równy bieżącemu obiektowi tożsamości, czy mają równe właściwości zabezpieczeń. (Odziedziczone po EndpointIdentity) |
GetHashCode() |
Zawiera kod skrótu dla bieżącego wystąpienia tożsamości. (Odziedziczone po EndpointIdentity) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
Initialize(Claim) |
Inicjuje element EndpointIdentity z określonym oświadczeniem. (Odziedziczone po EndpointIdentity) |
Initialize(Claim, IEqualityComparer<Claim>) |
Inicjuje element EndpointIdentity z określonym oświadczeniem i interfejsem oraz porównuje równość. (Odziedziczone po EndpointIdentity) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca tożsamość. (Odziedziczone po EndpointIdentity) |