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

Definizione

Avviso

Questa API è ora obsoleta.

Impedisce ai chiamanti in posizione più elevata nello stack di chiamate di utilizzare 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 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 ()

Implementazioni

Eccezioni

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

Commenti

Importante

Il Deny metodo 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, A il metodo Deny emette un oggetto per un' Bautorizzazione e quindi chiama B il metodo, il Deny metodo può eseguire in modo Assertesplicito l'override di mediante l'emissione di un oggetto.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 B esso, perché il metodo è il chiamante immediato, quindi scorre lo stack per Deny verificare che non sia presente 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 Bmetodo, che sta provando ad accedere alla risorsa, può arrestare immediatamente il percorso dello stack usando Assert il metodo.Method B, which is trying to access the resource, can stop the stack walk immediately by using the Assert method. In tal caso, l' Deny oggetto inserito nello stack per 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.

Denypuò limitare la responsabilità del programmatore o impedire problemi di sicurezza accidentali perché contribuisce a impedire che il metodo che Deny chiama 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 oggetto Demand per tale autorizzazione viene richiamato da un chiamante inferiore nello stack di chiamate, il Denycontrollo di sicurezza avrà esito negativo quando raggiunge.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. Solo uno Deny può essere attivo in un frame.Only one Deny can be active on a frame. Un tentativo di chiamare Deny quando esiste un Deny oggetto attivo nel frame restituisce un SecurityExceptionoggetto.An attempt to call Deny when an active Deny exists on the frame results in a SecurityException. Chiamare RevertDeny Denyo RevertAll per rimuovere un oggetto attivo.Call RevertDeny or RevertAll to remove an active Deny. Denyviene ignorato per un'autorizzazione non concessa perché una 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