SpnEndpointIdentity Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Représente un nom de principal de service (SPN) pour une identité lorsque la liaison utilise Kerberos.
public ref class SpnEndpointIdentity : System::ServiceModel::EndpointIdentity
public class SpnEndpointIdentity : System.ServiceModel.EndpointIdentity
type SpnEndpointIdentity = class
inherit EndpointIdentity
Public Class SpnEndpointIdentity
Inherits EndpointIdentity
- Héritage
Exemples
Le code suivant montre un moyen courant de créer une instance de cette 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
Remarques
Un SPN est le nom par lequel un client identifie de manière unique une instance d'un service. Si vous installez plusieurs instances d’un service sur des ordinateurs dans une forêt, chaque instance doit avoir son propre SPN. Une instance de service donnée peut avoir plusieurs NOMS SPN s’il existe plusieurs noms que les clients peuvent utiliser pour l’authentification.
Lorsqu’un client souhaite se connecter à un service, il localise une instance du service, compose un SPN pour cette instance et définit l’identité sur un SpnEndpointIdentity. Une vérification est effectuée pour que le message soit destiné à ce service.
Les trois modes d’authentification utilisés sous Kerberos sont les suivants :
SSPINegotiate
Kerberos
KerberosOverTransport.
Constructeurs
| Nom | Description |
|---|---|
| SpnEndpointIdentity(Claim) |
Initialise une nouvelle instance de SpnEndpointIdentity la revendication d’identité spécifiée. |
| SpnEndpointIdentity(String) |
Initialise une nouvelle instance de nom de SpnEndpointIdentity principal de service (SPN) spécifié. |
Propriétés
| Nom | Description |
|---|---|
| IdentityClaim |
Obtient la revendication d’identité qui correspond à l’identité. (Hérité de EndpointIdentity) |
| SpnLookupTime |
Spécifie la durée maximale autorisée pour rechercher le nom du principal de service (SPN). |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Retourne une valeur qui détermine si un objet spécifié est égal à l’objet d’identité actuel ou s’il a des propriétés de sécurité égales. (Hérité de EndpointIdentity) |
| GetHashCode() |
Fournit un code de hachage pour l’instance actuelle de l’identité. (Hérité de EndpointIdentity) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| Initialize(Claim, IEqualityComparer<Claim>) |
Initialise une EndpointIdentity revendication spécifiée et une interface et compare l’égalité. (Hérité de EndpointIdentity) |
| Initialize(Claim) |
Initialise une EndpointIdentity revendication avec la revendication spécifiée. (Hérité de EndpointIdentity) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ToString() |
Retourne l’identité. (Hérité de EndpointIdentity) |