AuthorizationContext.ClaimSets 屬性

定義

取得與授權原則相關聯的宣告集。

public:
 abstract property System::Collections::ObjectModel::ReadOnlyCollection<System::IdentityModel::Claims::ClaimSet ^> ^ ClaimSets { System::Collections::ObjectModel::ReadOnlyCollection<System::IdentityModel::Claims::ClaimSet ^> ^ get(); };
public abstract System.Collections.ObjectModel.ReadOnlyCollection<System.IdentityModel.Claims.ClaimSet> ClaimSets { get; }
member this.ClaimSets : System.Collections.ObjectModel.ReadOnlyCollection<System.IdentityModel.Claims.ClaimSet>
Public MustOverride ReadOnly Property ClaimSets As ReadOnlyCollection(Of ClaimSet)

屬性值

型別 ReadOnlyCollection<T>ClaimSet 包含宣告集。

範例

// Iterate through the various claim sets in the AuthorizationContext.
foreach(ClaimSet cs in operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets)
{
    // Examine only those claim sets issued by System.
    if (cs.Issuer == ClaimSet.System)
    {
        // Iterate through claims of type "http://example.org/claims/allowedoperation".
        foreach (Claim c in cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty))
        {
            // Write the Claim resource to the console.
            Console.WriteLine("resource: {0}", c.Resource.ToString());

            // If the Claim resource matches the action URI then return true to allow access.
            if (action == c.Resource.ToString())
                return true;
        }
    }
}
For Each cs In operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets
    ' Examine only those claim sets issued by System.
    If cs.Issuer Is ClaimSet.System Then
        ' Iterate through claims of type "http://example.org/claims/allowedoperation".
        Dim c As Claim
        For Each c In cs.FindClaims("http://example.org/claims/allowedoperation", Rights.PossessProperty)
            ' Write the Claim resource to the console.
            Console.WriteLine("resource: {0}", c.Resource.ToString())

            ' If the Claim resource matches the action URI then return true to allow access.
            If action = c.Resource.ToString() Then
                Return True
            End If
        Next c
    End If
Next cs

備註

使用 ClaimSets 屬性取得已由授權原則新增的宣告集。 衍生自 ServiceAuthorizationManager 的類別可以使用宣告來進行授權決策。

適用於