ClaimsPrincipalPermissionAttribute 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 keamanan yang digunakan untuk menetapkan pemeriksaan akses secara deklaratif berdasarkan logika yang disediakan oleh ClaimsAuthorizationManager instans dalam konteks aplikasi saat ini. Kelas ini tidak dapat diwariskan.
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
- Warisan
- Atribut
Contoh
Contoh berikut menunjukkan cara melindungi metode dengan mendekorasinya dengan ClaimsPrincipalPermissionAttribute atribut . Atribut akan mengevaluasi apakah akses harus diberikan kepada prinsipal saat ini dengan memanfaatkan logika yang disediakan oleh ClaimsAuthorizationManager instans dalam konteks aplikasi. Jika prinsipal saat ini tidak diotorisasi untuk tindakan yang ditentukan pada sumber daya yang ditentukan, SecurityException akan dilemparkan; jika tidak, eksekusi akan dilanjutkan.
//
// 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()
{
}
XML berikut menunjukkan konfigurasi minimum yang diperlukan untuk menggunakan manajer otorisasi klaim kustom dengan ClaimsPrincipalPermissionAttribute kelas . Anda harus, minimal, menyatakan bagian system.identityModel
dan system.identityModel.services
dalam <configSection>
elemen lalu menentukan manajer otorisasi Anda dalam <elemen claimsAuthorizationManager> di bawah konfigurasi identitas default. Ini akan memastikan bahwa manajer otorisasi Anda dirujuk dari konfigurasi federasi default. Atau, Anda dapat menentukan nama konfigurasi identitas tempat manajer otorisasi Anda ditentukan dalam identityConfigurationName
atribut <elemen federationConfiguration> .
<?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>
Keterangan
ClaimsPrincipalPermissionAttribute digunakan untuk secara deklaratif meminta pemeriksaan akses menggunakan yang dikonfigurasi ClaimsAuthorizationManager.
Anda harus menentukan salah SecurityAction satu nilai, Resource
dan Operation
dalam deklarasi Anda ClaimsPrincipalPermissionAttribute . Properti Resource
dan Operation
menentukan sumber daya dan tindakan yang harus diotorisasi oleh prinsipal saat ini (Thread.CurrentPrincipal) agar eksekusi dapat dilanjutkan. Jika prinsipal saat ini tidak berwenang untuk melakukan tindakan (operasi) yang ditentukan pada sumber daya yang ditentukan, SecurityException akan dilemparkan.
Penting
Kelas ClaimsPrincipalPermissionAttribute menggunakan manajer otorisasi klaim yang dikonfigurasi oleh IdentityConfiguration yang diatur di FederatedAuthentication.FederationConfiguration bawah properti . Ini berlaku dalam semua kasus, bahkan dalam skenario di mana WS-Federation tidak digunakan; misalnya, aplikasi Web aktif (WCF) dan aplikasi Konsol. Anda dapat menentukan manajer otorisasi klaim baik dalam konfigurasi atau secara terprogram. Untuk menentukan manajer otorisasi klaim dalam file konfigurasi, atur <elemen claimsAuthorizationManager> di bawah <elemen identityConfiguration> dan pastikan bahwa konfigurasi identitas ini direferensikan oleh <elemen federationConfiguration> yang dimuat oleh runtime (misalnya, dengan mengatur identityConfigurationName
atribut ). Untuk mengatur manajer otorisasi klaim secara terprogram, berikan handler untuk peristiwa tersebut FederatedAuthentication.FederationConfigurationCreated .
Konstruktor
ClaimsPrincipalPermissionAttribute(SecurityAction) |
Menginisialisasi instans baru kelas ClaimsPrincipalPermissionAttribute. |
Properti
Action |
Mendapatkan atau mengatur tindakan keamanan. (Diperoleh dari SecurityAttribute) |
Operation |
Mendapatkan atau mengatur operasi di mana prinsipal saat ini harus diotorisasi pada sumber daya yang ditentukan. |
Resource |
Mendapatkan atau mengatur sumber daya tempat prinsipal harus diizinkan untuk melakukan tindakan (operasi) yang ditentukan. |
TypeId |
Ketika diimplementasikan di kelas turunan, mendapatkan pengidentifikasi unik untuk ini Attribute. (Diperoleh dari Attribute) |
Unrestricted |
Mendapatkan atau menetapkan nilai yang menunjukkan apakah izin penuh (tidak terbatas) ke sumber daya yang dilindungi oleh atribut dideklarasikan. (Diperoleh dari SecurityAttribute) |
Metode
CreatePermission() |
Membuat instans ClaimsPrincipalPermission baru kelas yang didasarkan pada instans saat ini. |
Equals(Object) |
Mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
GetHashCode() |
Mengembalikan kode hash untuk instans ini. (Diperoleh dari Attribute) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
IsDefaultAttribute() |
Ketika ditimpa di kelas turunan, menunjukkan apakah nilai instans ini adalah nilai default untuk kelas turunan. (Diperoleh dari Attribute) |
Match(Object) |
Saat ditimpa di kelas turunan, mengembalikan nilai yang menunjukkan apakah instans ini sama dengan objek tertentu. (Diperoleh dari Attribute) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |
Implementasi Antarmuka Eksplisit
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Memetakan sekumpulan nama ke sekumpulan pengidentifikasi pengiriman yang sesuai. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Mengambil informasi jenis untuk objek, yang dapat digunakan untuk mendapatkan informasi jenis untuk antarmuka. (Diperoleh dari Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Mengambil jumlah antarmuka informasi jenis yang disediakan objek (baik 0 atau 1). (Diperoleh dari Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Menyediakan akses ke properti dan metode yang diekspos oleh objek. (Diperoleh dari Attribute) |