Aracılığıyla paylaş


ClaimsPrincipalPermission.Demand Yöntem

Tanım

Geçerli sorumlunun geçerli örnekle ilişkili kaynak eylemi çiftleri için yetkilendirilip yetkilendirilmediğini denetler.

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

Uygulamalar

Özel durumlar

Geçerli sorumlu' dan ClaimsPrincipalatanamaz.

-veya-

Yapılandırılmış bir şey yok ClaimsAuthorizationManager .

Yetkilendirme denetimi başarısız oldu.

Örnekler

Aşağıdaki örnekte, yöntemini kullanarak bir kaynağın nasıl korunacakları gösterilmektedir Demand . Geçerli sorumluyu belirtilen kaynak ve eyleme göre değerlendirmek için yapılandırılan talep yetkilendirme yöneticisi çağrılır. Geçerli sorumlu belirtilen kaynakta belirtilen eylem için yetkilendirilmediyse, bir SecurityException oluşturulur; aksi takdirde yürütme devam eder.

//
// 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();

Açıklamalar

Geçerli sorumlu, bu örnekle ilişkili tüm kaynak eylemi çiftleri için yetkilendirilmelidir veya SecurityException özel durum oluşturulur.

Oluşturucu yalnızca tek bir kaynak ve eylem alsa da, ClaimsPrincipalPermission nesneler ve Intersect yöntemleri aracılığıyla Union birleştirilebilir. Bu yöntemlerle oluşturulan izin birden çok kaynak eylem çifti içerebilir.

yöntemi, Demand yapılandırılmış talep yetkilendirme yöneticisinin yöntemini etkin sorumludan (CurrentPrincipal ), kaynağından ve izinde yer alan kaynak eylem çiftlerinin her biri için eylemden oluşan bir AuthorizationContext yöntemle çağırırClaimsAuthorizationManager.CheckAccess. Demand başarılı olması için, etkin sorumlunun izinde yer alan tüm kaynak eylemi çiftleri için yetkilendirilmiş olması gerekir.

Şunlara uygulanır