SpnEndpointIdentity Klasa
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
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
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.
Spn |
Inicjuje nowe wystąpienie przy SpnEndpointIdentity użyciu określonego oświadczenia tożsamości. |
Spn |
Inicjuje SpnEndpointIdentity nowe wystąpienie z określoną nazwą główną usługi (SPN). |
Identity |
Pobiera oświadczenie tożsamości, które odpowiada tożsamości. (Odziedziczone po EndpointIdentity) |
Spn |
Określa maksymalny czas wyszukiwania nazwy głównej usługi (SPN). |
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) |
Get |
Zawiera kod skrótu dla bieżącego wystąpienia tożsamości. (Odziedziczone po EndpointIdentity) |
Get |
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, IEquality |
Inicjuje element EndpointIdentity z określonym oświadczeniem i interfejsem oraz porównuje równość. (Odziedziczone po EndpointIdentity) |
Memberwise |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
To |
Zwraca tożsamość. (Odziedziczone po EndpointIdentity) |
Produkt | Wersje |
---|---|
.NET | Core 1.0, Core 1.1 |
.NET Framework | 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8 |
UWP | 10.0 |