SamlAttribute 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 attribut associé à l’objet d’un SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Héritage
-
SamlAttribute
Exemples
protected override Collection<SamlAttribute> GetIssuedClaims(RequestSecurityToken RST)
{
EndpointAddress rstAppliesTo = RST.AppliesTo;
if (rstAppliesTo == null)
{
throw new InvalidOperationException("No AppliesTo EndpointAddress in RequestSecurityToken");
}
string bookName = rstAppliesTo.Headers.FindHeader(Constants.BookNameHeaderName, Constants.BookNameHeaderNamespace).GetValue<string>();
if (string.IsNullOrEmpty(bookName))
throw new FaultException("The book name was not specified in the RequestSecurityToken");
EnsurePurchaseLimitSufficient(bookName);
Collection<SamlAttribute> samlAttributes = new Collection<SamlAttribute>();
foreach (ClaimSet claimSet in ServiceSecurityContext.Current.AuthorizationContext.ClaimSets)
{
// Copy Name claims from the incoming credentials into the set of claims to be issued.
IEnumerable<Claim> nameClaims = claimSet.FindClaims(ClaimTypes.Name, Rights.PossessProperty);
if (nameClaims != null)
{
foreach (Claim nameClaim in nameClaims)
{
samlAttributes.Add(new SamlAttribute(nameClaim));
}
}
}
// Add a purchase authorized claim.
samlAttributes.Add(new SamlAttribute(new Claim(Constants.PurchaseAuthorizedClaim, bookName, Rights.PossessProperty)));
return samlAttributes;
}
Protected Overrides Function GetIssuedClaims(ByVal RST As RequestSecurityToken) As Collection(Of SamlAttribute)
Dim rstAppliesTo As EndpointAddress = RST.AppliesTo
If rstAppliesTo Is Nothing Then
Throw New InvalidOperationException("No AppliesTo EndpointAddress in RequestSecurityToken")
End If
Dim bookName As String = rstAppliesTo.Headers.FindHeader(Constants.BookNameHeaderName, Constants.BookNameHeaderNamespace).GetValue(Of String)()
If String.IsNullOrEmpty(bookName) Then
Throw New FaultException("The book name was not specified in the RequestSecurityToken")
End If
EnsurePurchaseLimitSufficient(bookName)
Dim samlAttributes As New Collection(Of SamlAttribute)()
Dim claimSet As ClaimSet
For Each claimSet In ServiceSecurityContext.Current.AuthorizationContext.ClaimSets
' Copy Name claims from the incoming credentials into the set of claims we're going to issue
Dim nameClaims As IEnumerable(Of Claim) = claimSet.FindClaims(ClaimTypes.Name, Rights.PossessProperty)
If Not (nameClaims Is Nothing) Then
Dim nameClaim As Claim
For Each nameClaim In nameClaims
samlAttributes.Add(New SamlAttribute(nameClaim))
Next nameClaim
End If
Next claimSet
' add a purchase authorized claim
samlAttributes.Add(New SamlAttribute(New Claim(Constants.PurchaseAuthorizedClaim, bookName, Rights.PossessProperty)))
Return samlAttributes
End Function
Remarques
La SamlAttribute classe correspond à l’élément <saml:Attribute> XML défini dans la spécification OASIS SAML 1.1.
Une SamlAttribute instance contient PossessProperty des revendications pour l’objet d’un SamlAttributeStatement. Par exemple, un SamlAttribute peut contenir une Over21 revendication, dont le type serait spécifié dans la propriété et dont la Namespace ressource serait spécifiée en tant que membre de la collection dans la AttributeValues propriété. Lorsque la CreatePolicy méthode est appelée, cette Over21 revendication est ajoutée à la stratégie d’autorisation retournée par le SamlAttributeStatement. Lorsque la AttributeValues propriété contient plusieurs éléments, une revendication est retournée pour chaque élément.
SamlAttribute la position dans la hiérarchie d’objets SAML est la suivante :
Constructeurs
| Nom | Description |
|---|---|
| SamlAttribute() |
Initialise une nouvelle instance de la classe SamlAttribute. |
| SamlAttribute(Claim) |
Initialise une nouvelle instance de la classe à l’aide SamlAttribute de la revendication spécifiée. |
| SamlAttribute(String, String, IEnumerable<String>) |
Initialise une nouvelle instance de la SamlAttribute classe à l’aide du nom d’attribut, de l’espace de noms XML et des valeurs d’attribut spécifiées. |
Propriétés
| Nom | Description |
|---|---|
| AttributeValues |
Obtient une collection de valeurs d’attribut pour l’attribut SAML. |
| AttributeValueXsiType |
Obtient ou définit le xsi :type des valeurs contenues dans l’attribut SAML. |
| IsReadOnly |
Obtient une valeur qui indique si les propriétés de cette instance sont en lecture seule. |
| Name |
Obtient ou définit le nom de l’attribut SAML. |
| Namespace |
Obtient ou définit l’espace de noms XML dans lequel le nom de l’attribut SAML est défini. |
| OriginalIssuer |
Obtient ou définit la chaîne qui représente l’originalIssuer de l’attribut SAML. |
Méthodes
| Nom | Description |
|---|---|
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| ExtractClaims() |
Obtient une collection de revendications que cet attribut SAML représente. |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MakeReadOnly() |
Provoque la lecture seule de cette instance. |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Lit l’attribut SAML à partir du lecteur XML spécifié. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Écrit l’attribut SAML dans le sérialiseur XML spécifié. |