CodeAccessPermission.Deny Metodo

Definizione

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.

Si applica a