ClaimsPrincipalPermissionAttribute Sınıf

Tanım

Geçerli uygulama bağlamında örnek tarafından ClaimsAuthorizationManager sağlanan mantığa göre erişim denetimlerini bildirimli olarak atamak için kullanılan bir güvenlik özniteliğini temsil eder. Bu sınıf devralınamaz.

public ref class ClaimsPrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)]
public sealed class ClaimsPrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)>]
type ClaimsPrincipalPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
Devralma
ClaimsPrincipalPermissionAttribute
Öznitelikler

Örnekler

Aşağıdaki örnek, bir yöntemi özniteliğiyle süsleyerek korumayı ClaimsPrincipalPermissionAttribute gösterir. özniteliği, uygulama bağlamında örnek tarafından ClaimsAuthorizationManager sağlanan mantığı kullanarak geçerli sorumluya erişim verilip verilmeyeceğini değerlendirir. Geçerli sorumlu belirtilen kaynakta belirtilen eylem için yetkilendirilmediyse, bir SecurityException oluşturulur; aksi takdirde yürütme devam eder.


//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}

Aşağıdaki XML, sınıfıyla özel talep yetkilendirme yöneticisi kullanmak için gereken en düşük yapılandırmayı ClaimsPrincipalPermissionAttribute gösterir. En azından öğesindeki system.identityModel hem hem system.identityModel.services de bölümlerini <configSection> bildirmeniz ve ardından yetkilendirme yöneticinizi varsayılan kimlik yapılandırması altındaki claimsAuthorizationManager<> öğesinde belirtmeniz gerekir. Bu, yetkilendirme yöneticinize varsayılan federasyon yapılandırmasından başvurulmasını sağlar. Alternatif olarak, federasyonConfiguration> öğesinin özniteliğinde yetkilendirme yöneticinizin belirtildiği kimlik yapılandırmasının< adını belirtebilirsiniz.identityConfigurationName

<?xml version="1.0" encoding="utf-8" ?>  
<configuration>  
  <configSections>  
    <!-- WIF configuration sections -->  
    <section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
    <section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>  
  </configSections>  

  <startup>  
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />  
  </startup>  

  <system.identityModel>  
    <identityConfiguration>  
      <claimsAuthorizationManager type ="MyClaimsAuthorizationManager.MyClaimsAuthorizationManager, MyClaimsAuthorizationManager"/>  
    </identityConfiguration>  
  </system.identityModel>  

</configuration>  

Açıklamalar

, ClaimsPrincipalPermissionAttribute yapılandırılan ClaimsAuthorizationManagerkullanılarak bildirimli olarak erişim denetimi istemek için kullanılır.

Bildiriminizde ClaimsPrincipalPermissionAttribute bir ve Operation değerlerinden Resource birini SecurityAction belirtmeniz gerekir. ve Operation özellikleri, Resource devam etmek için geçerli sorumlunun (Thread.CurrentPrincipal) yürütme yetkisine sahip olması gereken kaynağı ve eylemi belirtir. Geçerli sorumlu belirtilen kaynakta belirtilen eylemi (işlemi) gerçekleştirme yetkisine sahip değilse, bir SecurityException oluşturulur.

Önemli

sınıfı, ClaimsPrincipalPermissionAttribute özelliği altında ayarlanan tarafından IdentityConfiguration yapılandırılan talep yetkilendirme yöneticisini FederatedAuthentication.FederationConfiguration kullanır. Bu, WS-Federation kullanılmadığı senaryolarda bile her durumda geçerlidir; örneğin, etkin (WCF) Web uygulamaları ve Konsol uygulamaları. Talep yetkilendirme yöneticisini yapılandırmada veya program aracılığıyla belirtebilirsiniz. Bir yapılandırma dosyasında talep yetkilendirme yöneticisini belirtmek için claimsAuthorizationManager> öğesini identityConfiguration öğesi altında ayarlayın< ve bu kimlik yapılandırmasına çalışma zamanı tarafından yüklenen federationConfiguration> öğesi tarafından< başvurulmasını sağlayın (örneğin, özniteliğini identityConfigurationName ayarlayarak).<> Talep yetkilendirme yöneticisini program aracılığıyla ayarlamak için olay için FederatedAuthentication.FederationConfigurationCreated bir işleyici sağlayın.

Oluşturucular

ClaimsPrincipalPermissionAttribute(SecurityAction)

ClaimsPrincipalPermissionAttribute sınıfının yeni bir örneğini başlatır.

Özellikler

Action

Bir güvenlik eylemi alır veya ayarlar.

(Devralındığı yer: SecurityAttribute)
Operation

Belirtilen kaynakta geçerli sorumlunun yetkilendirilmesi gereken işlemi alır veya ayarlar.

Resource

Sorumlunun belirtilen eylemi (işlem) gerçekleştirme yetkisine sahip olması gereken kaynağı alır veya ayarlar.

TypeId

Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır.

(Devralındığı yer: Attribute)
Unrestricted

Özniteliği tarafından korunan kaynağa yönelik tam (sınırsız) iznin bildirilip bildirilmediğini belirten bir değer alır veya ayarlar.

(Devralındığı yer: SecurityAttribute)

Yöntemler

CreatePermission()

Sınıfının geçerli örneği temel alan yeni örneğini ClaimsPrincipalPermission oluşturur.

Equals(Object)

Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür.

(Devralındığı yer: Attribute)
GetHashCode()

Bu örneğe ilişkin karma kodu döndürür.

(Devralındığı yer: Attribute)
GetType()

Type Geçerli örneğini alır.

(Devralındığı yer: Object)
IsDefaultAttribute()

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir.

(Devralındığı yer: Attribute)
Match(Object)

Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür.

(Devralındığı yer: Attribute)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Belirtik Arabirim Kullanımları

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

Bir ad kümesini karşılık gelen bir dağıtma tanımlayıcısı kümesine eşler.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

Bir arabirimin tür bilgilerini almak için kullanılabilecek bir nesnenin tür bilgilerini alır.

(Devralındığı yer: Attribute)
_Attribute.GetTypeInfoCount(UInt32)

Bir nesnenin sağladığı tür bilgisi arabirimlerinin sayısını alır (0 ya da 1).

(Devralındığı yer: Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

Bir nesne tarafından sunulan özelliklere ve yöntemlere erişim sağlar.

(Devralındığı yer: Attribute)

Şunlara uygulanır

Ayrıca bkz.