SamlAttribute Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt ein Attribut dar, das dem Betreff eines Elements SamlAttributeStatementzugeordnet ist.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Vererbung
-
SamlAttribute
Beispiele
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
Hinweise
Die SamlAttribute Klasse entspricht dem <saml:Attribute> XML-Element, das in der SPEZIFIKATION OASIS SAML 1.1 definiert ist.
Eine SamlAttribute Instanz enthält PossessProperty Ansprüche für den Betreff eines SamlAttributeStatement. Beispielsweise kann ein SamlAttribute Anspruch enthalten Over21 , dessen Typ in der Namespace Eigenschaft angegeben wird und dessen Ressource als Element der Auflistung in der AttributeValues Eigenschaft angegeben wird. Wenn die CreatePolicy Methode aufgerufen wird, wird dieser Over21 Anspruch der Autorisierungsrichtlinie hinzugefügt, die von der SamlAttributeStatementZurückgegeben wird. Wenn die AttributeValues Eigenschaft mehrere Elemente enthält, wird für jedes Element ein Anspruch zurückgegeben.
SamlAttribute die Position in der SAML-Objekthierarchie lautet:
Konstruktoren
| Name | Beschreibung |
|---|---|
| SamlAttribute() |
Initialisiert eine neue Instanz der SamlAttribute-Klasse. |
| SamlAttribute(Claim) |
Initialisiert eine neue Instanz der SamlAttribute Klasse mithilfe des angegebenen Anspruchs. |
| SamlAttribute(String, String, IEnumerable<String>) |
Initialisiert eine neue Instanz der SamlAttribute Klasse mithilfe des angegebenen Attributnamens, des XML-Namespaces und der Attributwerte. |
Eigenschaften
| Name | Beschreibung |
|---|---|
| AttributeValues |
Ruft eine Auflistung von Attributwerten für das SAML-Attribut ab. |
| AttributeValueXsiType |
Dient zum Abrufen oder Festlegen des xsi:type der Werte, die im SAML-Attribut enthalten sind. |
| IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Eigenschaften dieser Instanz schreibgeschützt sind. |
| Name |
Dient zum Abrufen oder Festlegen des Namens des SAML-Attributs. |
| Namespace |
Ruft den XML-Namespace ab, in dem der Name des SAML-Attributs definiert ist, oder legt diesen fest. |
| OriginalIssuer |
Dient zum Abrufen oder Festlegen der Zeichenfolge, die den OriginalIssuer des SAML-Attributs darstellt. |
Methoden
| Name | Beschreibung |
|---|---|
| Equals(Object) |
Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht. (Geerbt von Object) |
| ExtractClaims() |
Ruft eine Auflistung von Ansprüchen ab, die dieses SAML-Attribut darstellt. |
| GetHashCode() |
Dient als Standardhashfunktion. (Geerbt von Object) |
| GetType() |
Ruft die Type der aktuellen Instanz ab. (Geerbt von Object) |
| MakeReadOnly() |
Bewirkt, dass diese Instanz schreibgeschützt ist. |
| MemberwiseClone() |
Erstellt eine flache Kopie der aktuellen Object. (Geerbt von Object) |
| ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Liest das SAML-Attribut aus dem angegebenen XML-Reader. |
| ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
| WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Schreibt das SAML-Attribut in den angegebenen XML-Serializer. |