Java-Sicherheit: Richtlinien und Berechtigungen besser verwalten

Java 2 enthält eine gute Plattform zur Verwaltung von Berechtigungen. Grundlage dieser Architektur ist die abstrakte Klasse java.security.Permission. Sie liefert den Datensatz der Zugriffsberechtigungen. Dafür enthält sie den Namen der Ressource, etwa einen Dateinamen, und eine Reihe von Aktionen, die für diese Ressource ausführbar sind, beispielsweise „lesen“ oder „schreiben“. Die Permission.implies(Permission)-Methode zeigt an, ob das als Parameter übergebene Berechtigungsobjekt zulässig ist – vorausgesetzt, dass das aktuelle Berechtigungsobjekt ebenfalls erlaubt ist.

Das Permission-Objekt implementiert die java.security.Guard-Schnittstelle. Die Permission-Klasse verfügt über viele Unterklassen für diverse Zwecke. Die meisten dieser Unterklassen haben zwei Konstruktoren: PermissionSubclass(String Name) und PermissionSubclass(String Name, String Aktionen). Sie geben den Ressourcennamen und die entsprechenden Aktionen an. Zu den Unterklassen der standardmäßigen Berechtigungsklasse zählen:

  • AllPermission(): Berechtigung für alle Ressourcen.
  • FilePermission(String Dateiname, String Zugriff): Berechtigungen für den Dateizugriff. Der Zugriff-String kann „read“, „write“, „delete“ und „execute“ enthalten, getrennt durch Kommas.
  • SocketPermission(String Adresse,String Zugriff): Berechtigungen für Netzwerk-Socket-Verbindungen. Der Adressen-String liegt entweder als URL oder als IP-Adresse vor; der Zugriff-String kann die Operationen „accept“ und „connect“ enthalten.
  • PropertyPermission(String Eigenschaft, String Zugriff): Berechtigungen für das Einstellen von Eigenschaften.

Weitere Quellen zum Java-Sicherheitsmodell:

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Java-Sicherheit: Richtlinien und Berechtigungen besser verwalten

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *