IStackWalk.PermitOnly Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывает сбой всех 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 это разрешение. Стек вызовов обычно представлен как растущий, поэтому методы выше в методах вызова стека вызовов вызовов ниже в стеке вызовов.