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:
 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 ();
member 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 метод выдает a Deny для разрешения, а затем вызывает метод B, Assertметод B может овертли переопределить Deny , выполнив.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.

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