SamlAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een kenmerk dat is gekoppeld aan het onderwerp van een SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Overname
-
SamlAttribute
Voorbeelden
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
Opmerkingen
De SamlAttribute klasse komt overeen met het <saml:Attribute> XML-element dat is gedefinieerd in de OASIS SAML 1.1-specificatie.
Een SamlAttribute exemplaar bevat PossessProperty claims voor het onderwerp van een SamlAttributeStatement. Een claim kan bijvoorbeeld SamlAttribute een Over21 claim bevatten waarvan het type wordt opgegeven in de Namespace eigenschap en waarvan de resource wordt opgegeven als lid van de verzameling in de AttributeValues eigenschap. Wanneer de CreatePolicy methode wordt aangeroepen, wordt deze Over21 claim toegevoegd aan het autorisatiebeleid dat wordt geretourneerd door geretourneerd door de SamlAttributeStatement. Wanneer de AttributeValues eigenschap meerdere elementen bevat, wordt één claim geretourneerd voor elk element.
SamlAttribute de positie in de SAML-objecthiërarchie is:
Constructors
| Name | Description |
|---|---|
| SamlAttribute() |
Initialiseert een nieuw exemplaar van de SamlAttribute klasse. |
| SamlAttribute(Claim) |
Initialiseert een nieuw exemplaar van de SamlAttribute klasse met behulp van de opgegeven claim. |
| SamlAttribute(String, String, IEnumerable<String>) |
Initialiseert een nieuw exemplaar van de SamlAttribute klasse met behulp van de opgegeven kenmerknaam, XML-naamruimte en kenmerkwaarden. |
Eigenschappen
| Name | Description |
|---|---|
| AttributeValues |
Hiermee haalt u een verzameling kenmerkwaarden op voor het SAML-kenmerk. |
| AttributeValueXsiType |
Hiermee wordt het xsi:-type opgehaald of ingesteld van de waarden in het SAML-kenmerk. |
| IsReadOnly |
Hiermee wordt een waarde opgehaald die aangeeft of de eigenschappen van dit exemplaar alleen-lezen zijn. |
| Name |
Hiermee wordt de naam van het SAML-kenmerk opgehaald of ingesteld. |
| Namespace |
Hiermee haalt u de XML-naamruimte op waarin de naam van het SAML-kenmerk is gedefinieerd. |
| OriginalIssuer |
Hiermee haalt u de tekenreeks op die de OriginalIssuer van het SAML-kenmerk vertegenwoordigt of stelt u deze in. |
Methoden
| Name | Description |
|---|---|
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| ExtractClaims() |
Hiermee haalt u een verzameling claims op die door dit SAML-kenmerk worden aangeduid. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MakeReadOnly() |
Zorgt ervoor dat dit exemplaar het kenmerk Alleen-lezen heeft. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Leest het SAML-kenmerk van de opgegeven XML-lezer. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Hiermee schrijft u het SAML-kenmerk naar de opgegeven XML-serialisatiefunctie. |