CodeAccessPermission.Deny Metodo

Definizione

Avviso

Questa API è ora obsoleta.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.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 https://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 ()

Implementazioni

Attributi

Eccezioni

Esiste già un oggetto Deny() attivo per il fotogramma corrente.There is already an active Deny() for the current frame.

Commenti

Importante

Il metodo Deny deve essere usato solo per proteggere le risorse dall'accesso accidentale da parte del codice completamente attendibile.The Deny method should be used only to protect resources from accidental access by fully trusted code. Non deve essere usato per proteggere le risorse da un utilizzo improprio intenzionale da codice non attendibile.It should not be used to protect resources from intentional misuse by untrusted code. Se, ad esempio, il metodo A emette una Deny per un'autorizzazione e quindi chiama il metodo B, il metodo B può ignorare apertamente il Deny eseguendo un 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. Il metodo chiamato è sempre maggiore nello stack.The called method is always higher in the stack. Se pertanto il metodo B tenta di accedere a una risorsa protetta, il sistema di sicurezza inizia a verificare le autorizzazioni con esso, perché il metodo B è il chiamante immediato, quindi scorre lo stack per verificare che non sia presente alcun Deny o PermitOnly inferiore nello stack.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. Il metodo B, che sta provando ad accedere alla risorsa, può arrestare immediatamente il percorso dello stack usando il metodo Assert.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. In tal caso, il Deny inserito nello stack dal metodo A (metodo chiamante) non viene mai individuato.In that case, the Deny placed on the stack by method A (the calling method) is never discovered.

Questo metodo impedisce ai chiamanti in posizione più elevata nello stack di chiamate di accedere alla risorsa protetta tramite il codice che chiama questo metodo, anche se ai chiamanti è stata concessa l'autorizzazione ad accedervi.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. Lo stack di chiamate viene in genere rappresentato come crescente, in modo che i metodi più elevati nei metodi di chiamata dello stack di chiamate siano inferiori nello stack di chiamate.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 possibile limitare la responsabilità del programmatore o impedire problemi di sicurezza accidentali perché consente di evitare che il metodo che chiama Deny venga usato per accedere alla risorsa protetta dall'autorizzazione negata.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. Se un metodo chiama Deny su un'autorizzazione e se un Demand per tale autorizzazione viene richiamato da un chiamante in una posizione inferiore nello stack di chiamate, il controllo di sicurezza avrà esito negativo quando raggiunge il 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.

La chiamata a Deny è valida fino a quando il codice chiamante non torna al chiamante.The call to Deny is effective until the calling code returns to its caller. Su un frame può essere attivo un solo Deny.Only one Deny can be active on a frame. Tentativo di chiamare Deny quando un Deny attivo esiste nel frame produce un SecurityException.An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Chiamare RevertDeny o RevertAll per rimuovere una Denyattiva.Call RevertDeny or RevertAll to remove an active Deny. Deny viene ignorato per un'autorizzazione non concessa perché la richiesta di tale autorizzazione avrà esito negativo.Deny is ignored for a permission not granted because a demand for that permission will not succeed.

Note per gli eredi

Non è possibile eseguire l'override di questo metodo.You cannot override this method.

Si applica a