SamlAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Reprezentuje atrybut skojarzony z podmiotem elementu SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Dziedziczenie
-
SamlAttribute
Przykłady
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
Uwagi
Klasa SamlAttribute odpowiada elementowi XML zdefiniowanemu <saml:Attribute>
w specyfikacji OASIS SAML 1.1.
Wystąpienie SamlAttribute zawiera PossessProperty oświadczenia dla podmiotu .SamlAttributeStatement Na przykład może SamlAttribute zawierać Over21
oświadczenie, którego typ zostanie określony we Namespace właściwości i którego zasób zostanie określony jako element członkowski kolekcji we AttributeValues właściwości. Po wywołaniu CreatePolicy metody to Over21
oświadczenie jest dodawane do zasad autoryzacji zwracanych przez element zwrócony przez SamlAttributeStatementelement . AttributeValues Gdy właściwość zawiera wiele elementów, jedno oświadczenie jest zwracane dla każdego elementu.
SamlAttribute pozycja w hierarchii obiektów SAML to:
Konstruktory
SamlAttribute() |
Inicjuje nowe wystąpienie klasy SamlAttribute. |
SamlAttribute(Claim) |
Inicjuje SamlAttribute nowe wystąpienie klasy przy użyciu określonego oświadczenia. |
SamlAttribute(String, String, IEnumerable<String>) |
Inicjuje nowe wystąpienie klasy przy użyciu określonej nazwy atrybutu SamlAttribute , przestrzeni nazw XML i wartości atrybutów. |
Właściwości
AttributeValues |
Pobiera kolekcję wartości atrybutów dla atrybutu SAML. |
AttributeValueXsiType |
Pobiera lub ustawia xsi:type wartości zawartych w atrybucie SAML. |
IsReadOnly |
Pobiera wartość wskazującą, czy właściwości tego wystąpienia są tylko do odczytu. |
Name |
Pobiera lub ustawia nazwę atrybutu SAML. |
Namespace |
Pobiera lub ustawia przestrzeń nazw XML, w której zdefiniowano nazwę atrybutu SAML. |
OriginalIssuer |
Pobiera lub ustawia ciąg reprezentujący originalIssuer atrybutu SAML. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
ExtractClaims() |
Pobiera kolekcję oświadczeń, które reprezentuje ten atrybut SAML. |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera bieżące wystąpienie. (Odziedziczone po Object) |
MakeReadOnly() |
Powoduje, że to wystąpienie jest tylko do odczytu. |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Odczytuje atrybut SAML z określonego czytnika XML. |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Zapisuje atrybut SAML w określonym serializatorze XML. |