PermissionSet.PermitOnly 方法

定義

會導致 Demand() 任何通過呼叫碼的 PermissionSet 非電流 PermissionSet 子集的程式碼失效。

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

實作

備註

PermitOnly 與 類似 Deny,兩者都會使堆疊走動失敗,否則會成功。 差別在於 它 Deny 指定了會導致堆疊走路失敗的權限,但 PermitOnly 只指定了不會讓堆疊走路失敗的權限。 呼叫此方法以確保你的程式碼只能存取指定的資源。

PermitOnly 因為申請許可無法成功而被忽視。 然而,如果呼叫堆疊中較低的程式碼後來Demand呼叫該權限,當堆疊路徑到達嘗試呼叫SecurityException的程式碼時,會拋出 a PermitOnly 。 這是因為呼叫 PermitOnly 的程式碼尚未獲得授權,儘管它曾要求 PermitOnly 該權限。 呼叫堆疊通常以向下成長表示,因此呼叫堆疊中較高的方法也會在呼叫堆疊中較低的呼叫方法。

適用於