ClaimsPrincipalPermission.Demand 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
檢查目前主體是否獲得使用與目前執行個體相關聯之資源/動作配對的授權。
public:
virtual void Demand();
public void Demand ();
abstract member Demand : unit -> unit
override this.Demand : unit -> unit
Public Sub Demand ()
實作
例外狀況
授權檢查失敗。
範例
下列範例示範如何使用 方法來保護資源 Demand 。 系統會叫用已設定的宣告授權管理員,以針對指定的資源和動作評估目前的主體。 如果目前主體未獲得指定資源上指定動作的授權,則會擲回 , SecurityException 否則會繼續執行。
//
// 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();
備註
目前主體必須獲得與此實例相關聯之所有資源動作配對的授權,否則 SecurityException 會擲回例外狀況。
雖然建構函式只會採用單一資源和動作, ClaimsPrincipalPermission 但物件可以透過 Union 和 Intersect 方法合併。 透過這些方法建立的許可權可能包含多個資源動作配對。
方法 Demand 會 ClaimsAuthorizationManager.CheckAccess 叫用已設定宣告授權管理員的方法,其中包含 AuthorizationContext 使用中主體 (CurrentPrincipal) 、資源,以及許可權中包含的每個資源動作組動作動作。 Demand若要讓 成功,作用中主體必須獲得許可權中包含的所有資源動作配對的授權。