PermissionSet.PermitOnly 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
导致所有经过调用代码以请求不是当前 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 对于未授予的权限忽略,因为对该权限的需求无法成功。 但是,如果调用堆栈上的代码较低以后会调用Demand该权限,则当堆栈演练到达尝试调用PermitOnly的代码时,将引发 aSecurityException。 这是因为调用 PermitOnly 的代码尚未授予权限,即使它调用 PermitOnly 了该权限。 调用堆栈通常表示为向下增长,因此调用堆栈调用方法中的方法越低。