SamlAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje atribut, který je přidružen k předmětu objektu SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Dědičnost
-
SamlAttribute
Příklady
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
Poznámky
Třída SamlAttribute odpovídá elementu <saml:Attribute>
XML, který je definován ve specifikaci OASIS SAML 1.1.
Instance SamlAttribute obsahuje PossessProperty deklarace identity pro předmět objektu SamlAttributeStatement. Například SamlAttribute může obsahovat Over21
deklaraci identity, jejíž typ by byl zadán ve Namespace vlastnosti a jehož prostředek by byl zadán jako člen kolekce ve AttributeValues vlastnosti. Při zavolání CreatePolicy metody se tato Over21
deklarace identity přidá do zásad autorizace, které vrací vrácené metodou SamlAttributeStatement. AttributeValues Pokud vlastnost obsahuje více elementů, vrátí se pro každý prvek jedna deklarace identity.
SamlAttribute pozice v hierarchii objektů SAML je:
Konstruktory
SamlAttribute() |
Inicializuje novou instanci SamlAttribute třídy. |
SamlAttribute(Claim) |
Inicializuje novou instanci SamlAttribute třídy pomocí zadané deklarace identity. |
SamlAttribute(String, String, IEnumerable<String>) |
Inicializuje novou instanci třídy pomocí zadaného SamlAttribute názvu atributu, oboru názvů XML a hodnot atributů. |
Vlastnosti
AttributeValues |
Získá kolekci hodnot atributů pro atribut SAML. |
AttributeValueXsiType |
Získá nebo nastaví xsi:type hodnot obsažených v atributu SAML. |
IsReadOnly |
Získá hodnotu, která označuje, zda jsou vlastnosti této instance jen pro čtení. |
Name |
Získá nebo nastaví název atributu SAML. |
Namespace |
Získá nebo nastaví obor názvů XML, ve kterém je definován název atributu SAML. |
OriginalIssuer |
Získá nebo nastaví řetězec, který představuje OriginalIssuer atributu SAML. |
Metody
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
ExtractClaims() |
Získá kolekci deklarací identity, které tento atribut SAML představuje. |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MakeReadOnly() |
Způsobí, že tato instance bude jen pro čtení. |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Načte atribut SAML ze zadané čtečky XML. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Zapíše atribut SAML do zadaného serializátoru XML. |