SamlAttribute Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
bir öğesinin konusuyla ilişkili bir SamlAttributeStatementözniteliği temsil eder.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Devralma
-
SamlAttribute
Örnekler
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
Açıklamalar
sınıfı, SamlAttribute OASIS SAML 1.1 belirtiminde tanımlanan XML öğesine karşılık gelir <saml:Attribute>
.
Bir SamlAttribute örnek, konusu SamlAttributeStatementiçin talepler içerirPossessProperty. Örneğin, türü SamlAttribute özelliğinde belirtilecek olan ve kaynağı özelliğindeki koleksiyonun NamespaceAttributeValues bir üyesi olarak belirtilecek olan bir talep içerebilirOver21
. CreatePolicy yöntemi çağrıldığında, bu Over21
talep tarafından döndürülen yetkilendirme ilkesine SamlAttributeStatementeklenir. Özelliği birden çok öğe içerdiğinde AttributeValues , her öğe için bir talep döndürülür.
SamlAttribute SAML nesne hiyerarşisindeki konum:
Oluşturucular
SamlAttribute() |
SamlAttribute sınıfının yeni bir örneğini başlatır. |
SamlAttribute(Claim) |
Belirtilen talebi kullanarak sınıfının yeni bir örneğini SamlAttribute başlatır. |
SamlAttribute(String, String, IEnumerable<String>) |
Belirtilen öznitelik adını, XML ad alanını ve öznitelik değerlerini kullanarak sınıfının yeni bir örneğini SamlAttribute başlatır. |
Özellikler
AttributeValues |
SAML özniteliği için öznitelik değerleri koleksiyonunu alır. |
AttributeValueXsiType |
SAML Özniteliğinde yer alan değerlerin xsi:type değerini alır veya ayarlar. |
IsReadOnly |
Bu örneğin özelliklerinin salt okunur olup olmadığını gösteren bir değer alır. |
Name |
SAML özniteliğinin adını alır veya ayarlar. |
Namespace |
SAML özniteliğinin adının tanımlandığı XML ad alanını alır veya ayarlar. |
OriginalIssuer |
SAML özniteliğinin OriginalIssuer'ını temsil eden dizeyi alır veya ayarlar. |
Yöntemler
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
ExtractClaims() |
Bu SAML özniteliğinin temsil eden talep koleksiyonunu alır. |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MakeReadOnly() |
Bu örneğin salt okunur olmasını neden olur. |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Belirtilen XML okuyucusundan SAML özniteliğini okur. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
SAML özniteliğini belirtilen XML seri hale getiricisine yazar. |