# Datei-/Verzeichniszugriff von signiertem Applet



## sunset (3. Okt 2008)

Liebe Leute

Ich habe ein signiertes Applet, das u.a. vom Benutzer die Angabe eines Verzeichnisses erwartet und anschliessend den sich darunter befindlichen Dateibaum einliest. Das Applet ist signiert, grundsätzlich kann ich mit dem JFileChooser auf lokale Laufwerke wie auch Netzlaufwerke zugreifen. Ab bestimmten Stufen/Verzeichnissen (bspw. dem Desktop-Verzeichnis des ausführenden Benutzers) geht dieser aber nicht mehr weiter, folgender Fehler tritt auf:



> Exception in thread "Basic L&F File Loading Thread" java.security.AccessControlException: access denied (java.util.PropertyPermission user.dir read)



Wenn ich aber das erlaubte übergeordnete Verzeichnis auswähle (bspw. also das Benutzerverzeichnis) kann ich anschliessend problemlos über die Utnerordner iterieren.

Ich wäre um einen Tipp äusserst dankbar, der mir zeigt, wie ich dem FileChooser ebenfalls ermögliche, auf tiefere Verzeichnisse zuzugreifen.

Danke im Voraus, Andreas


----------



## Wildcard (3. Okt 2008)

Welche Rechte hast du dem Applet denn gegeben?


----------



## sunset (3. Okt 2008)

Ich habe nix Spezielles eingestellt, die gemäss Konsole benutzte User-Policy-Datei (deployment.user.security.policy = file://C:/Documents%20and%20Settings/xxx/Application%20Data/Sun/Java/Deployment/security/java.policy) ist nicht vorhanden.

Die Konsole gibt weiter aus:
acl.read = +
acl.read.default = 
acl.write = +
acl.write.default = 

Sind das die gewünschten Informationen?


----------



## Wildcard (3. Okt 2008)

Du musst eine Policy Datei erstellen.


----------



## sunset (3. Okt 2008)

Ok, ich versuch's mal. Kann ein Applet überhaupt seine zu benutzende Policy selber erstellen? Wenn die Meinung ist, dass jeder Benutzer seine Policy anpassen muss, damit das Applet funkioniert, ist das etwas doof.

Übrigens: Unter OS X läuft das ganze problemlos, brauche da gar nichts bzgl. Policy einzustellen...


----------



## Wildcard (3. Okt 2008)

Nein, dein Applet muss seine Policy mitbringen. Wenn keine vorhanden ist, werden die Default Einstellungen der Users verwendet und die sind in der Regel sehr restriktiv.


----------



## sunset (6. Okt 2008)

Ok, eine Policy kann ich problemlos erstellen. Ich finde nach langem suchen im Netz aber leider keinen Hinweis darauf, wie ich nun die JVM dazu bringe, die dem Applet beigefügte Policy zu benutzen. Gibt's da eine besondere Namenskonvention, oder läuft das über die setPolicy-Methode (falls ja: ich krieg das irgendwie nicht auf die Reihe...)?


----------

