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é au sujet d'une 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 classe SamlAttribute correspond à l'élément XML <saml:Attribute>
défini dans la spécification SAML 1.1 OASIS.
Une instance SamlAttribute contient des revendications PossessProperty pour le sujet d'une SamlAttributeStatement. Par exemple, un SamlAttribute peut contenir une revendication Over21
, dont le type serait spécifié dans la propriété Namespace et dont la ressource serait spécifiée en tant que membre de la collection dans la propriété AttributeValues. Lorsque la méthode CreatePolicy est appelée, cette revendication Over21
est ajoutée à la stratégie d'autorisation retournée par l'SamlAttributeStatement. Lorsque la propriété AttributeValues contient plusieurs éléments, une revendication est alors retournée pour chaque élément.
SamlAttribute position dans la hiérarchie d’objets SAML est :
Constructeurs
SamlAttribute() |
Initialise une nouvelle instance de la classe SamlAttribute. |
SamlAttribute(Claim) |
Initialise une nouvelle instance de la classe SamlAttribute à l'aide de la revendication spécifiée. |
SamlAttribute(String, String, IEnumerable<String>) |
Initialise une nouvelle instance de la classe SamlAttribute à l'aide du nom d'attribut, de l'espace de noms XML et des valeurs d'attribut spécifiés. |
Propriétés
AttributeValues |
Obtient une collection de valeurs d’attributs 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
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() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MakeReadOnly() |
Provoque la mise en lecture seule de cette instance. |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (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é. |