次の方法で共有


PermissionSet.PermitOnly メソッド

定義

現在の PermissionSet のサブセットではない PermissionSet について、呼び出し側コードをパススルーする Demand() が失敗するようにします。

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 は、そのアクセス許可の要求が成功できないため、許可されていないアクセス許可の場合は無視されます。 ただし、呼び出し履歴の下位のコードがそのアクセス許可を後で呼び出すと、スタック ウォークが呼びDemandPermitOnlyそうとしたコードに到達したときに a SecurityException がスローされます。 これは、呼び出されたコードには、そのアクセス許可を呼び出PermitOnlyPermitOnlyしたにもかかわらず、アクセス許可が付与されていないためです。 通常、呼び出し履歴は、呼び出し履歴の上位のメソッドが呼び出し履歴内の呼び出しメソッドより低くなるように、縮小して表されます。

適用対象