SamlAttribute Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili atribut yang terkait dengan subjek SamlAttributeStatement.
public ref class SamlAttribute
public class SamlAttribute
type SamlAttribute = class
Public Class SamlAttribute
- Warisan
-
SamlAttribute
Contoh
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
Keterangan
Kelas SamlAttribute sesuai dengan <saml:Attribute>
elemen XML yang ditentukan dalam spesifikasi OASIS SAML 1.1.
Instans SamlAttribute berisi PossessProperty klaim untuk subjek SamlAttributeStatement. Misalnya, SamlAttribute mungkin berisi Over21
klaim, yang jenisnya akan ditentukan dalam Namespace properti dan yang sumber dayanya akan ditentukan sebagai anggota koleksi di AttributeValues properti . Ketika metode dipanggil CreatePolicy , klaim ini Over21
ditambahkan ke kebijakan otorisasi yang dikembalikan oleh dikembalikan dari oleh SamlAttributeStatement. AttributeValues Ketika properti berisi beberapa elemen, maka satu klaim dikembalikan untuk setiap elemen.
SamlAttribute posisi dalam hierarki objek SAML adalah:
Konstruktor
SamlAttribute() |
Menginisialisasi instans baru kelas SamlAttribute. |
SamlAttribute(Claim) |
Menginisialisasi instans SamlAttribute baru kelas menggunakan klaim yang ditentukan. |
SamlAttribute(String, String, IEnumerable<String>) |
Menginisialisasi instans SamlAttribute baru kelas menggunakan nama atribut, namespace XML, dan nilai atribut yang ditentukan. |
Properti
AttributeValues |
Mendapatkan kumpulan nilai atribut untuk atribut SAML. |
AttributeValueXsiType |
Mendapatkan atau mengatur nilai xsi:type yang terkandung dalam Atribut SAML. |
IsReadOnly |
Mendapatkan nilai yang menunjukkan apakah properti instans ini bersifat baca-saja. |
Name |
Mendapatkan atau mengatur nama atribut SAML. |
Namespace |
Mendapatkan atau mengatur namespace XML tempat nama atribut SAML ditentukan. |
OriginalIssuer |
Mendapatkan atau mengatur string yang mewakili OriginalIssuer dari atribut SAML. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
ExtractClaims() |
Mendapatkan kumpulan klaim yang diwakili atribut SAML ini. |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
MakeReadOnly() |
Menyebabkan instans ini bersifat baca-saja. |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
ReadXml(XmlDictionaryReader, SamlSerializer, SecurityTokenSerializer, SecurityTokenResolver) |
Membaca atribut SAML dari pembaca XML yang ditentukan. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
WriteXml(XmlDictionaryWriter, SamlSerializer, SecurityTokenSerializer) |
Menulis atribut SAML ke dalam serializer XML yang ditentukan. |