ClaimsPrincipalPermission.Demand Metode
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.
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.