PermissionSet.PermitOnly 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
會導致 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 該權限。 呼叫堆疊通常以向下成長表示,因此呼叫堆疊中較高的方法也會在呼叫堆疊中較低的呼叫方法。