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
SamlAttribute Třída 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 .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.
CreatePolicy Při zavolání metody se tato Over21 deklarace identity přidá do zásady autorizace, která je vrácena z objektu SamlAttributeStatement.
AttributeValues Pokud vlastnost obsahuje více prvků, je vrácena jedna deklarace identity pro každý prvek.
SamlAttribute pozice v hierarchii objektů SAML je:
Konstruktory
| Name | Description |
|---|---|
| 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 SamlAttribute třídy pomocí zadaného názvu atributu, oboru názvů XML a hodnoty atributů. |
Vlastnosti
| Name | Description |
|---|---|
| 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á určuje, zda vlastnosti této instance jsou 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
| Name | Description |
|---|---|
| Equals(Object) |
Určuje, zda je zadaný objekt roven 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í funkce hash. (Zděděno od Object) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| MakeReadOnly() |
Způsobí, že tato instance bude jen pro čtení. |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Přeč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. |