SamlAttribute Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Rappresenta un attributo associato all'oggetto di una classe SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Ereditarietà
-
SamlAttribute
Esempio
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
Commenti
La classe SamlAttribute corrisponde all'elemento XML <saml:Attribute>
definito nella specifica OASIS SAML 1.1.
Istanza SamlAttribute contenente attestazioni PossessProperty per l'oggetto di una classe SamlAttributeStatement. Una classe SamlAttribute, ad esempio, potrebbe contenere un'attestazione Over21
, il cui tipo verrebbe specificato nella proprietà Namespace e la cui risorsa verrebbe specificata come un membro della raccolta nella proprietà AttributeValues. Quando viene chiamato il metodo CreatePolicy, l'attestazione Over21
viene aggiunta ai criteri di autorizzazione restituiti dalla classe SamlAttributeStatement. Quando la proprietà AttributeValues contiene più elementi, per ciascuno di essi viene restituita un'attestazione.
SamlAttribute la posizione nella gerarchia degli oggetti SAML è:
Costruttori
SamlAttribute() |
Inizializza una nuova istanza della classe SamlAttribute. |
SamlAttribute(Claim) |
Inizializza una nuova istanza della classe SamlAttribute utilizzando l'attestazione specificata. |
SamlAttribute(String, String, IEnumerable<String>) |
Inizializza una nuova istanza della classe SamlAttribute utilizzando il nome di attributo specificato, lo spazio dei nomi XML e valori di attributo. |
Proprietà
AttributeValues |
Ottiene una raccolta di valori di attributo per l'attributo SAML. |
AttributeValueXsiType |
Ottiene o imposta xsi:type dei valori contenuti nell'attributo SAML. |
IsReadOnly |
Ottiene un valore che indica se le proprietà di questa istanza sono di sola lettura. |
Name |
Ottiene o imposta il nome dell'attributo SAML. |
Namespace |
Ottiene o imposta lo spazio dei nomi XML in cui è definito il nome dell'attributo SAML. |
OriginalIssuer |
Ottiene o imposta la stringa che rappresenta OriginalIssuer dell'attributo SAML. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
ExtractClaims() |
Ottiene una raccolta di attestazioni rappresentate da questo attributo SAML. |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
MakeReadOnly() |
Modifica questa istanza in modo che sia di sola lettura. |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Legge l'attributo SAML dal lettore XML specificato. |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Scrive l'attributo SAML nel serializzatore XML specificato. |