Technologiebeispiel zur Codezugriffssicherheit
Aktualisiert: November 2007
In diesem Beispiel wird die Codezugriffssicherheit veranschaulicht, ein Mechanismus, der während eines Methodenaufrufs den Zugriff auf Ressourcen gewährt oder verweigert. Es kann z. B. zulässig sein, dass von Microsoft geschriebener Code auf einen Datenträger geschrieben wird, während Code eines anderen Unternehmens nicht auf den Datenträger zugreifen darf. Dies wird auch dann erzwungen, wenn Code von beiden Unternehmen in derselben Anwendung verwendet wird. In diesem Beispiel wird wiederholt versucht, auf eine Datenträgerdatei und eine Umgebungsvariable zuzugreifen. Vor jedem Versuch werden die Codezugriffsberechtigungen geändert, um die Auswirkungen erkennbar zu machen. Weitere Informationen zur Codezugriffssicherheit finden Sie in den Kommentaren der Quellcodedateien.
Informationen zur Verwendung der Beispiele finden Sie unter den folgenden Themen:
So erstellen Sie das Beispiel mithilfe der Eingabeaufforderung
Navigieren Sie über die Eingabeaufforderung im Verzeichnis CAS zu einem der sprachspezifischen Unterverzeichnisse.
Geben Sie je nach verwendeter Programmiersprache msbuild PermissionsCS.sln oder msbuild.exe PermissionsVB.sln ein. Geben Sie z. B. im Verzeichnis C:\Dokumente und Einstellungen\Ihr Benutzername\Eigene Dateien\Beispiele\Technologien\CAS\VB in der Befehlszeile msbuild.exe PermissionsVB.sln ein, um die Visual Basic-Version zu erstellen.
So erstellen Sie das Beispiel mithilfe von Visual Studio
Öffnen Sie Windows Explorer, und navigieren Sie im Verzeichnis CAS zu einem der sprachspezifischen Unterverzeichnisse.
Doppelklicken Sie je nach verwendeter Programmiersprache auf das Symbol für PermissionsCS.sln oder PermssionsVB.sln, um die Datei in Visual Studio 2005 zu öffnen.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Die Beispielanwendung wird im Standardunterverzeichnis \bin oder \bin\Debug erstellt.
So führen Sie das Beispiel aus
Navigieren Sie im Eingabeaufforderungsfenster zu dem Verzeichnis, das die neue ausführbare Datei enthält.
Geben Sie in der Befehlszeile Permissions.exe ein.
Hinweis: |
---|
In diesem Beispiel wird eine Konsolenanwendung erstellt. Sie müssen sie in einem Eingabeaufforderungsfenster starten und ausführen, um die Ausgabe anzuzeigen. |
Anforderungen
.NET Framework-Version:
Hinweise
In diesem Beispiel werden folgende Technologien und Klassen verwendet:
Sicherheit
PermissionSet – Verwaltet einen Berechtigungssatz und wird zum Gewähren und Verweigern von Berechtigungen im Stapel verwenden.
CodeAccessPermission – Wird für die statische RevertDeny-Methode und die statische RevertAssert-Methode verwendet, die die Auswirkungen der Assert-Funktion und der Deny-Funktion rückgängig machen.
FileIOPermission – Verwaltet Berechtigungen für Dateisystemanforderungen, z. B. Lesen und Schreiben.
EnvironmentPermission – Verwaltet Berechtigungen für den Zugriff auf Umgebungsvariablen.
E/A
FileStream – Öffnet, liest und schreibt Dateien im Beispiel.
Path – Ruft den vollständigen Pfad einer Datei ab. Dies kann besonders beim Umgang mit FileIOPermissions wichtig sein, da das System die Sicherheit auf dem vollständigen Pfad einer Datei aufbaut.
Umgebungsvariablen
- Environment – Liest die Umgebungsvariablen für den Prozess.