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 mit dem Subjekt einer SamlAttributeStatement verknüpft 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, die dem <saml:Attribute>
-XML-Element entspricht, das in der OASIS SAML 1.1-Spezifikation definiert wurde.
Eine SamlAttribute-Instanz enthält PossessProperty-Ansprüche für das Subjekt einer SamlAttributeStatement. So kann ein SamlAttribute einen Over21
-Anspruch enthalten, dessen Typ in der Namespace-Eigenschaft und dessen Ressource als Mitglied der Auflistung in der AttributeValues-Eigenschaft angegeben würde. Wenn die CreatePolicy-Methode aufgerufen wird, wird der Over21
-Anspruch zur Autorisierungsrichtlinie hinzugefügt, die von der SamlAttributeStatement zurückgegeben wird. Wenn die AttributeValues-Eigenschaft dann mehrere Elemente enthält, wird ein Anspruch für jedes Element zurückgegeben.
SamlAttribute Die Position in der SAML-Objekthierarchie lautet:
Konstruktoren
SamlAttribute() |
Initialisiert eine neue Instanz der SamlAttribute-Klasse. |
SamlAttribute(Claim) |
Initialisiert eine neue Instanz der SamlAttribute-Klasse unter Verwendung des angegebenen Anspruchs. |
SamlAttribute(String, String, IEnumerable<String>) |
Initialisiert eine neue Instanz der SamlAttribute-Klasse unter Verwendung des angegebenen Namens, des XML-Namespace und der Attributwerte. |
Eigenschaften
AttributeValues |
Ruft eine Auflistung von Attributwerten für das SAML-Attribut ab. |
AttributeValueXsiType |
Übernimmt oder bestimmt den xsi:type der Werte im SAML-Attribut. |
IsReadOnly |
Ruft einen Wert ab, der angibt, ob die Eigenschaften dieser Instanz schreibgeschützt sind. |
Name |
Ruft den Namen des SAML-Attributs ab oder legt diesen fest. |
Namespace |
Ruft ab den XML-Namespace fest, in dem der Name des SAML-Attributs definiert wird, oder legt diesen fest. |
OriginalIssuer |
Übernimmt oder bestimmt die Zeichenfolge, die den OriginalIssuer des SAML-Attributs darstellt. |
Methoden
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
ExtractClaims() |
Ruft eine Auflistung von Ansprüchen ab, die dieses SAML-Attribut darstellt. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MakeReadOnly() |
Bewirkt, dass diese Instanz schreibgeschützt ist. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Liest das SAML-Attribut vom 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 das angegebene XML-Serialisierungsprogramm. |