IStackWalk.PermitOnly 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
导致所有对象的每个 Demand()(除了通过调用代码的当前一个)失败,即使调用堆栈中较高级别的代码已被授予访问其他资源的权限。
public:
void PermitOnly();
public void PermitOnly ();
abstract member PermitOnly : unit -> unit
Public Sub PermitOnly ()
注解
PermitOnly 类似于 Deny,因为两者都会导致堆栈遍程失败,否则会成功。 区别在于, Deny 指定将导致堆栈演练失败的权限,但 PermitOnly 指定不会导致堆栈演练失败的唯一权限。 调用此方法可确保代码只能用于访问指定的资源。
PermitOnly 对于未授予的权限,将被忽略,因为该权限的需求不会成功。 但是,如果调用堆栈中下层的代码稍后调用 Demand 该权限, SecurityException 则当堆栈遍程到达尝试调用 PermitOnly的代码时,将引发 。 这是因为调用 PermitOnly 的代码尚未被授予 权限,即使它为该权限调用 PermitOnly 。 调用堆栈通常表示为向下增长,因此调用堆栈中较高方法调用方法在调用堆栈中较低。