SamlAttribute Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Representa um atributo associado à entidade de um SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Herança
-
SamlAttribute
Exemplos
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
Comentários
A SamlAttribute classe corresponde ao <saml:Attribute>
elemento XML definido na especificação OASIS SAML 1.1.
Uma SamlAttribute instância contém PossessProperty declarações para o assunto de um SamlAttributeStatement. Por exemplo, um SamlAttribute pode conter uma declaração Over21
, cujo tipo seria especificado na Namespace propriedade e cujo recurso seria especificado como um membro da coleção na AttributeValues propriedade . Quando o CreatePolicy método é chamado, essa Over21
declaração é adicionada à política de autorização retornada pelo retornado pelo SamlAttributeStatement. Quando a AttributeValues propriedade contém vários elementos, uma declaração é retornada para cada elemento.
SamlAttribute A posição na hierarquia de objetos SAML é:
Construtores
SamlAttribute() |
Inicializa uma nova instância da classe SamlAttribute. |
SamlAttribute(Claim) |
Inicializa uma nova instância da classe SamlAttribute usando a declaração especificada. |
SamlAttribute(String, String, IEnumerable<String>) |
Inicializa uma nova instância da classe SamlAttribute usando o nome do atributo, o namespace de XML e valores de atributo especificados. |
Propriedades
AttributeValues |
Obtém uma coleção de valores de atributo para o atributo SAML. |
AttributeValueXsiType |
Obtém ou define o xsi:type dos valores contidos no Atributo SAML. |
IsReadOnly |
Obtém um valor que indica se as propriedades dessa instância são somente leitura. |
Name |
Obtém ou define o nome do atributo SAML. |
Namespace |
Obtém ou define o namespace de XML no qual o nome do atributo SAML é definido. |
OriginalIssuer |
Obtém ou define a cadeia de caracteres que representa o OriginalIssuer do atributo SAML. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
ExtractClaims() |
Obtém uma coleção de declarações que esse atributo SAML representa. |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MakeReadOnly() |
Faz com que essa instância seja somente leitura. |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Lê o atributo SAML do leitor XML especificado. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Grava o atributo SAML no serializador XML especificado. |