Bagikan melalui


ClaimsPrincipalPermission.Demand Metode

Definisi

Memeriksa apakah prinsipal saat ini diotorisasi untuk pasangan tindakan sumber daya yang terkait dengan instans saat ini.

public:
 virtual void Demand();
public void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()

Penerapan

Pengecualian

Prinsipal saat ini tidak dapat ditetapkan dari ClaimsPrincipal.

-atau-

Tidak ada ClaimsAuthorizationManager konfigurasi.

Pemeriksaan otorisasi gagal.

Contoh

Contoh berikut menunjukkan cara melindungi sumber daya dengan menggunakan Demand metode . Manajer otorisasi klaim yang dikonfigurasi dipanggil untuk mengevaluasi prinsipal saat ini terhadap sumber daya dan tindakan yang ditentukan. Jika prinsipal saat ini tidak diotorisasi untuk tindakan yang ditentukan pada sumber daya yang ditentukan, SecurityException akan dilemparkan; jika tidak, eksekusi akan dilanjutkan.

//
// Method 2. Programmatic check using the permission class
// Follows model found at http://msdn.microsoft.com/library/system.security.permissions.principalpermission.aspx
//
ClaimsPrincipalPermission cpp = new ClaimsPrincipalPermission("resource", "action");
cpp.Demand();

Keterangan

Prinsipal saat ini harus diotorisasi untuk semua pasangan tindakan sumber daya yang terkait dengan instans ini atau SecurityException pengecualian dilemparkan.

Meskipun konstruktor hanya mengambil satu sumber daya dan tindakan, ClaimsPrincipalPermission objek dapat digabungkan melalui Union metode dan Intersect . Izin yang dibuat melalui metode ini mungkin berisi beberapa pasangan tindakan sumber daya.

Metode ini Demand memanggil ClaimsAuthorizationManager.CheckAccess metode manajer otorisasi klaim yang AuthorizationContext dikonfigurasi dengan terdiri dari prinsipal aktif (CurrentPrincipal), sumber daya, dan tindakan untuk setiap pasangan tindakan sumber daya yang terkandung dalam izin. Demand Agar berhasil, prinsipal aktif harus diotorisasi untuk semua pasangan tindakan sumber daya yang terkandung dalam izin.

Berlaku untuk