CodeAccessPermission.Deny CodeAccessPermission.Deny CodeAccessPermission.Deny CodeAccessPermission.Deny Method

Определение

Предупреждение

Этот API устарел.

Запрещает вызывающим фрагментам кода выше в стеке вызова использовать вызывающий этот метод код для доступа к ресурсу, указанному в текущем экземпляре.Prevents callers higher in the call stack from using the code that calls this method to access the resource specified by the current instance.

public:
 virtual void Deny();
[System.Obsolete]
[System.Obsolete("Deny is obsolete and will be removed in a future release of the .NET Framework. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
[System.Diagnostics.Conditional("FEATURE_MONO_CAS")]
public void Deny ();
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()

Реализации

Исключения

Уже имеется активное утверждение Deny() для текущего кадра.There is already an active Deny() for the current frame.

Комментарии

Важно!

Deny Метод должен использоваться только для защиты ресурсов от случайного доступа полностью доверенным кодом.The Deny method should be used only to protect resources from accidental access by fully trusted code. Он не должен использоваться для защиты ресурсов от умышленного злоупотребления ненадежным кодом.It should not be used to protect resources from intentional misuse by untrusted code. Например если метод A проблемы Deny для разрешения и затем вызывает метод B, метод B описания можно переопределить Deny , выполнив Assert.For example, if method A issues a Deny for a permission and then calls method B, method B can overtly override the Deny by issuing an Assert. Вызываемый метод всегда находится выше в стеке.The called method is always higher in the stack. Таким образом Если метод B пытается получить доступ к защищенному ресурсу, система безопасности начинается проверка наличия разрешения с ним, так как метод B является непосредственный вызывающий оператор, а затем проходит вниз по стеку, убедитесь, что не Deny или PermitOnly ниже в стеке.Therefore, if method B tries to access a protected resource, the security system begins checking for permissions with it because method B is the immediate caller, and then walks down the stack to confirm that there is no Deny or PermitOnly lower in the stack. Метод B, который пытается получить доступ к ресурсу, можно остановить анализ стека немедленно с помощью Assert метод.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. В этом случае Deny помещаемый в стек методом A (вызывающий метод) никогда не будет обнаружен.In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

Этот метод предотвращает доступ к защищенному ресурсу через код, который вызывает этот метод, даже если эти вызывающие объекты имеют разрешение на доступ к нему вызывающим объектам выше в стеке вызовов.This method prevents callers higher in the call stack from accessing the protected resource through the code that calls this method, even if those callers have been granted permission to access it. Стек вызовов обычно представляется как растет вниз, таким образом, методы, расположенные выше в стеке вызовов вызывать методы, расположенные в стеке вызовов.The call stack is typically represented as growing down, so that methods higher in the call stack call methods lower in the call stack.

Deny можно ограничить ответственность программиста или предотвращения случайного характера, так как он помогает предотвратить метода, который вызывает Deny не могут использоваться для доступа к ресурсу, защищенному путем отказа в разрешении.Deny can limit the liability of the programmer or help prevent accidental security issues because it helps prevent the method that calls Deny from being used to access the resource protected by the denied permission. Если метод вызывает Deny для разрешения и если Demand для этого разрешения вызывающего объекта, расположенные ниже в стеке вызовов, что эта проверка безопасности завершится ошибкой, когда он достигает Deny.If a method calls Deny on a permission, and if a Demand for that permission is invoked by a caller lower in the call stack, that security check will fail when it reaches the Deny.

Вызов Deny вступает в силу, пока не возвращается вызывающему коду, вызвавшему его.The call to Deny is effective until the calling code returns to its caller. Только один Deny может быть активным.Only one Deny can be active on a frame. Попытка вызвать Deny при наличии активного Deny существует на кадре приводит SecurityException.An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Вызовите RevertDeny или RevertAll для удаления активной Deny.Call RevertDeny or RevertAll to remove an active Deny. Deny учитывается для разрешения не предоставлены, так как запрос на это разрешение не будет выполнено.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

Примечания для тех, кто наследует этот метод

Этот метод нельзя переопределить.You cannot override this method.

Применяется к