Freigeben über


CodeAccessPermission.Deny-Methode

Verhindert, dass übergeordnete Aufrufer in der Aufrufliste auf die von der aktuellen Instanz angegebene Ressource über Code zugreifen, der diese Methode aufruft.

Namespace: System.Security
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Sub Deny
'Usage
Dim instance As CodeAccessPermission

instance.Deny
public void Deny ()
public:
virtual void Deny () sealed
public final void Deny ()
public final function Deny ()

Ausnahmen

Ausnahmetyp Bedingung

SecurityException

Es ist bereits ein aktives Deny für den aktuellen Frame vorhanden.

Hinweise

Diese Methode verhindert, dass übergeordnete Aufrufer in der Aufrufliste auf die geschützte Ressource über Code zugreifen, der diese Methode aufruft, selbst wenn ihnen die Berechtigung dazu erteilt wurde. Eine Aufrufliste wird i. d. R. als absteigend geordnet dargestellt, sodass übergeordnete Methoden in der Aufrufliste untergeordnete Methoden aufrufen.

Deny kann die Haftung des Programmierers einschränken oder unbeabsichtigte Sicherheitsprobleme mindern, da die Deny aufrufende Methode nicht mehr für einen Zugriff auf die Ressource verwendet werden kann, die durch die nicht gewährte Berechtigung geschützt wird. Wenn eine Methode Deny für eine Berechtigung aufruft und ein Aufruf von Demand für diese Berechtigung durch einen untergeordneten Aufrufer in der Aufrufliste erfolgt, schlägt die Sicherheitsüberprüfung beim Erreichen von Deny fehl.

Der Aufruf von Deny ist so lange wirksam, bis der aufrufende Code beendet wird und zu dessen Aufrufer zurückkehrt. Für einen Frame kann immer nur ein Deny aktiv sein. Ein Versuch, Deny aufzurufen, wenn ein aktives Deny für den Frame vorhanden ist, führt zu einer SecurityException. Rufen Sie RevertDeny oder RevertAll auf, um ein aktives Deny zu entfernen. Deny wird bei nicht gewährten Berechtigungen ignoriert, da eine Anforderung für diese Berechtigung fehlschlagen würde.

Hinweise für Erben Diese Methode kann nicht überschrieben werden.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie die Deny zum Verhindern des Zugriffs auf die durch die aktuelle Instanz angegebene Ressource verwendet wird. Dieses Codebeispiel ist Teil eines umfangreicheren Beispiels für die RevertAll-Methode.

' Create a new UIPermission that allows access only to OwnClipboard.
Dim clipboardPermission As New UIPermission(UIPermissionClipboard.OwnClipboard)
' Deny access to OwnClipboard.
Console.WriteLine("Denying access to OwnClipboard")
clipboardPermission.Deny()
' Demand access to files in the specified path.
DemandOwnClipboardAccess()
' Revert the Deny.
Console.WriteLine("Reverting the Deny.")
CodeAccessPermission.RevertDeny()
DemandOwnClipboardAccess()
// Create a new UIPermission that allows access only to OwnClipboard.
UIPermission clipboardPermission = new UIPermission(UIPermissionClipboard.OwnClipboard);
// Deny access to OwnClipboard.
Console.WriteLine("Denying access to OwnClipboard");
clipboardPermission.Deny();
// Demand access to files in the specified path.
DemandOwnClipboardAccess();
// Revert the Deny.
Console.WriteLine("Reverting the Deny.");
CodeAccessPermission.RevertDeny();
DemandOwnClipboardAccess();
// Create a new UIPermission that allows access only to OwnClipboard.
UIPermission^ clipboardPermission = gcnew UIPermission(
   UIPermissionClipboard::OwnClipboard );

// Deny access to OwnClipboard.
Console::WriteLine( L"Denying access to OwnClipboard" );
clipboardPermission->Deny();

// Demand access to files in the specified path.
DemandOwnClipboardAccess();

// Revert the Deny.
Console::WriteLine( L"Reverting the Deny." );
CodeAccessPermission::RevertDeny();
DemandOwnClipboardAccess();

Plattformen

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

CodeAccessPermission-Klasse
CodeAccessPermission-Member
System.Security-Namespace

Weitere Ressourcen

Verwenden der Deny-Methode
Außerkraftsetzen von Sicherheitsüberprüfungen