ClaimsPrincipalPermissionAttribute 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.
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
- Ö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) |