CodeAccessPermission.Deny Methode

Definitie

Let op

Deze API is nu afgeschaft.

Let op

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.

Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot de resource die is opgegeven door het huidige exemplaar.

public:
 virtual void Deny();
[System.Obsolete]
public 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();
[<System.Obsolete>]
abstract member Deny : unit -> unit
override this.Deny : unit -> unit
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 ()

Implementeringen

Kenmerken

Uitzonderingen

Er is al een actieve Deny() versie voor het huidige frame.

Opmerkingen

Important

De Deny methode mag alleen worden gebruikt om resources te beschermen tegen onbedoelde toegang door volledig vertrouwde code. Het mag niet worden gebruikt om resources te beschermen tegen opzettelijk misbruik door niet-vertrouwde code. Als de methode A bijvoorbeeld een Deny machtiging uitgeeft en vervolgens een methode Baanroept, kan de methode de methode B overschrijven door een DenyAssert. De aangeroepen methode is altijd hoger in de stack. Als de methode B toegang probeert te krijgen tot een beveiligde resource, begint het beveiligingssysteem met het controleren op machtigingen, omdat de methode B de directe aanroeper is en vervolgens de stack omlaag gaat om te bevestigen dat er geen Deny of PermitOnly minder in de stack is. Methode B, die toegang probeert te krijgen tot de resource, kan de stack-wandeling onmiddellijk stoppen met behulp van de Assert methode. In dat geval wordt de Deny op de stack geplaatst op methode A (de aanroepmethode) nooit gedetecteerd.

Deze methode voorkomt dat bellers die hoger in de aanroepstack toegang hebben tot de beveiligde resource via de code die deze methode aanroept, zelfs als deze aanroepers zijn gemachtigd om deze te openen. De aanroepstack wordt doorgaans weergegeven als uitgroeien, zodat methoden die hoger zijn in de aanroepstack, lager zijn in de aanroepstack.

Deny kan de aansprakelijkheid van de programmeur beperken of onbedoelde beveiligingsproblemen voorkomen, omdat hiermee wordt voorkomen dat de methode waarmee aanroepen Deny worden gebruikt voor toegang tot de resource die wordt beveiligd door de geweigerde machtiging. Als een methode een machtiging aanroept Deny en een Demand voor die machtiging wordt aangeroepen door een aanroeper lager in de aanroepstack, mislukt die beveiligingscontrole wanneer deze de Denyaanvraag bereikt.

De aanroep is Deny van kracht totdat de aanroepcode terugkeert naar de aanroeper. Slechts één Deny kan actief zijn op een frame. Een poging om aan te roepen Deny wanneer er een actief Deny in het frame bestaat, resulteert in een SecurityException. Een actieve RevertDenyaanroep RevertAll of Deny verwijderen. Deny wordt genegeerd voor een machtiging die niet is verleend, omdat een aanvraag voor die machtiging niet slaagt.

Notities voor overnemers

U kunt deze methode niet overschrijven.

Van toepassing op