CodeAccessPermission.Deny Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Attenzione
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.
Impedisce ai chiamanti più in alto nello stack di chiamate di usare il codice che chiama questo metodo per accedere alla risorsa specificata dall'istanza corrente.
public:
virtual void Deny();
public void Deny();
[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.")]
public void Deny();
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
[<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.")>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
Public Sub Deny ()
Implementazioni
- Attributi
Eccezioni
Esiste già un elemento attivo Deny() per il frame corrente.
Commenti
Importante
Il Deny metodo deve essere usato solo per proteggere le risorse dall'accesso accidentale da codice completamente attendibile. Non deve essere usato per proteggere le risorse da uso improprio intenzionale da codice non attendibile. Ad esempio, se il metodo emette un Deny oggetto per un'autorizzazione e quindi chiama il metodo B, il metodo B può eseguire eccessivamente l'override Deny di eseguendo un oggetto Assert.A Il metodo chiamato è sempre più alto nello stack. Pertanto, se il metodo B tenta di accedere a una risorsa protetta, il sistema di sicurezza inizia a verificare la presenza di autorizzazioni perché il metodo B è il chiamante immediato e quindi scorre lo stack per verificare che non vi sia o DenyPermitOnly meno nello stack. Il metodo B, che tenta di accedere alla risorsa, può arrestare immediatamente la procedura dello stack usando il Assert metodo . In tal caso, l'oggetto Deny posizionato nello stack in base al metodo (il metodo A chiamante) non viene mai individuato.
Questo metodo impedisce ai chiamanti più in alto nello stack di chiamate di accedere alla risorsa protetta tramite il codice che chiama questo metodo, anche se a tali chiamanti è stata concessa l'autorizzazione per accedervi. Lo stack di chiamate viene in genere rappresentato come in continua crescita, in modo che i metodi più alti nei metodi di chiamata dello stack di chiamate siano inferiori nello stack di chiamate.
Deny può limitare la responsabilità del programmatore o prevenire problemi di sicurezza accidentali perché consente di impedire l'uso del metodo che chiama Deny per accedere alla risorsa protetta dall'autorizzazione negata. Se un metodo chiama Deny un'autorizzazione e se un Demand oggetto per tale autorizzazione viene richiamato da un chiamante inferiore nello stack di chiamate, tale controllo di sicurezza avrà esito negativo quando raggiunge .Deny
La chiamata a Deny è effettiva fino a quando il codice chiamante non torna al chiamante. Solo uno Deny può essere attivo su un frame. Un tentativo di chiamare Deny quando esiste un elemento attivo Deny nel frame restituisce un oggetto SecurityException. Chiamare RevertDeny o RevertAll per rimuovere un oggetto attivo Deny. Deny viene ignorato per un'autorizzazione non concessa perché una richiesta di tale autorizzazione non avrà esito positivo.
Note per gli eredi
Non è possibile eseguire l'override di questo metodo.