Applet-Zugriffsrechte: merkwürdiges Verhalten

_pyro_

Neues Mitglied
Hallo liebes Forum,

ich versuche gerade, aus einem Applet, das auf meinem lokalen System läuft, auf einige Dateien zuzugreifen, die in einem Unterordner des Applet-Verzeichnisses liegen. Ich dachte immer, solange das Applet "in seinem Verzeichnis bleibt" wäre alles in Ordnung, und in der Vergangenheit hat das auch immer funktioniert - jetzt erhalte ich allerdings folgende Fehlermeldung:
AccessControlException: access denied (java.io.FilePermission .\images\pic1.jpg read)

Der Dateizugriff passiert wie folgt
Java:
File f = new File("images/pic1.jpg");
BufferedImage bi = ImageIO.read(f);

Das Applet wird durch diesen Code eingebunden:
HTML:
<html>
<body>
<applet code="StartApplet.class" width="1024" height="800">
</applet>
</body>
</html>
...wobei StartApplet.class JApplet erweitert und die init()-Methode enthält. Der fragliche Dateizugriff findet in einer anderen Klasse statt, falls das relevant ist. Diese liegt aber im gleichen Verzeichnis.

Wenn ich mich recht erinnere, dann erscheint diese Fehlermeldung, seit ich das SDK nochmal neu aufgespielt habe...merkwürdig.

Ich hoffe auf Anregunngen und Vorschläge!

Freundliche Grüße,
_pyro_
 
Zuletzt bearbeitet:

irgendjemand

Top Contributor
das ist in der tat recht merkwürdig ... denn eigentlich hätte dieser fehler bereits beim ersten mal auftreten

zur erklärung : applets und webstart-apps laufen in einer sandbox mit securitymanager ...
dieser verbietet nicht-signierten apps sämtliche i/o zugriffe aufs lokale file-system
da aber auch das signieren nicht funktionieren würde *da mit File immer noch aufs lokale client-system zugegriffen wird* musst du einen anderen weg wählen

das zauberwort heißt hier : ClassLoader.getResource() bzw getResourceAsStream() ...

damit lädts du dann auch wirklich daten relativ zum applet ...

allgemein solltest du dir auch angewöhnen alles in ein jar-file zu packen ... und damit meine ich auch ALLES ... also alle class-files ... und alle resources ...
das erhöt gerade bei applets die performance da beim laden des jar-files dieses komplett geladen wird ... und damit auch alles was drin steckt ... so ergibt sich dann beim laden aus dem cache der performance vorteil ...
 

_pyro_

Neues Mitglied
Hallo irgendjemand,

danke für die Antwort. Allerdings stimmt deine Aussage nicht mit dem überein, was ich einschlägig im Internet gefunden habe. Folgende Seite beispielsweise würde dir widersprechen Java Applet Reference.
Die Zugriffsrechte, die du schilderst, gelten meines Wissens nach nur, wenn das Applet von einem Web-Server aus ausgeführt wird. Wenn ich das Applet hingegen von meinem Rechner aus ausführe, hätte ich erwartet (wie auf der o.g. Internetseite beschrieben), dass ich auf Dateien im gleichen Verzeichnis wie das Applet zugreifen darf.

So. Allerdings hat es ja nicht funktioniert. Sind diese Informationen dann schlichtweg falsch? Was mich nach wie vor sehr stutzig macht ist, dass genau dieselbe HTML-Datei mit denselben .class-Dateien in demselben Verzeichnis gestern Morgen noch funktioniert hatte. Und zwar nicht in einer IDE, sondern in Firefox.

Viele Grüße,
_pyro_
 

irgendjemand

Top Contributor
@TO
tipp : anstatt dich auf irgendwelche schwammigen infos zu einem mitlerweile veraltetem tag *<APPLET> sollte laut W3C nicht mehr verwendet werden* von irgendwelchen NICHT offiziellen seiten ziehst ... die dich in die irre führen ... dann kann ich dir nur empfehlen : suche dir ALLE informationen über java IMMER dierekt von Sun/Oracle ... achte also drauf das die seite auf dem server "*.oracle.com" liegt ... denn nur dann kannst du von der richtigkeit ausgehen ...

ich will damit nicht sagen das ein großteil von dem was man auf fremdseiten findet falsch ist ... nur ist die richtigkeit halt nicht bestätigt ...

ansonsten : es ist völlig egal ob ein applet von nem server *http:// irgendwas . tld/* geladen wurde oder vom lokalen file-system *file:///C:/Users/Administrator/Desktop/* ... ein applet unterliegt IMMER den sandbox-richtlinien ... und damit auch der einschränkung das ein großteil von I/O durch den vorhandenen securitymanager schlicht blockiert wird ...

grundsätzlich sollte man zum laden von resourcen imer ClassLoader.getResource() verwenden ... und File nur wenn man auch wirklich zugang zum file-system braucht ...

und das hier ist mal absoluter schwachsinn

Local File System: However, when a Java VM runs a Java applet from a local file system (your hard drive), the Java applet is authorized to access only files in the directory that the applet came from (or any subdirectories).

diese info ist schlicht falsch ... denn es ist der VM egal VON WO aus das applet geladen wurde ... die VM interessieren nur zwei dinge : ist es ein applet ? wenn ja : sandbox ... ist es signiert ? wenn ja : sandbox-beschränkungen aufheben ...
nicht mehr und nicht weniger ...

ergo : nicht ich widerspreche der seite ... oder die seite mir ... sondern diese seite widerspricht einfach den offiziellen infos von Sun ... und ist damit schlicht falsch ...
ich weis zwar nicht wer diese infos zusammengetragen hat oder woher er diese hat ... aber so falsche informationen für ein völlig veraltetes tag was eh nicht mehr genutzt werden sollte ... aua ... sowas tut echt immer ziemlich weh

mal davon abgesehen das die von dir verlinkte seite auch ein ziemliches alter hat ...

letzter comment 28.03.2006 ... also vor fast 6 jahren ...
und dann wird auch nur auf 1.4.2 verlinkt ... aktuell gibt es version 6u31 und 7u3 / 7u4-ea ... und seit dem hat sich einiges geändert ...

ich schlage dir also vor : wenn du was zu java suchst ... dann such auch auf den richtigen servern und lass dich nicht von solchen falsch-infos irritieren ...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java Applet Verknüpfungsproblem Allgemeine Java-Themen 6
L Applet Applet zu JavaWebStart migrieren - simples sample geht nicht Allgemeine Java-Themen 2
A Applet Applet debuggen und Logs finden Allgemeine Java-Themen 3
A Plot funktion applet Allgemeine Java-Themen 4
A Applet nullstelle Plot Allgemeine Java-Themen 1
A Applet in HTML einbinden Allgemeine Java-Themen 1
B Altes Applet anpassen Allgemeine Java-Themen 8
W Unterschied Standalone und Applet Allgemeine Java-Themen 1
L WebSign Applet der Deutschen Bank Allgemeine Java-Themen 0
K Applet in JApplet umwandeln Allgemeine Java-Themen 5
V Applet trotz Ausnahme blockiert Allgemeine Java-Themen 0
T Java Applet Berechtigungen Allgemeine Java-Themen 2
T 2D-Grafik Java Applet Rechtecke und Kreise Allgemeine Java-Themen 1
I Java Applet wird immer blockiert Allgemeine Java-Themen 3
S Applet in html laden; InvocationTargetException,.. nur warum ? Allgemeine Java-Themen 0
S Java Applet wird dauerhaft blockiert Allgemeine Java-Themen 1
T Java applet args Allgemeine Java-Themen 5
S Java Applet Crash - Keine Exception Allgemeine Java-Themen 8
L Java Applet - ClassNotFound online, offline korrekt Allgemeine Java-Themen 13
Y Applet/Html - Wie Java-Methode aufrufen, die einen Parameter erwartet? Allgemeine Java-Themen 3
H Problem mit Applet (online / offline) Allgemeine Java-Themen 8
K Applet-Einbindung Allgemeine Java-Themen 11
T Java Applet in IE 8+9 Allgemeine Java-Themen 4
X Applet läuft nicht, Applet in Webseite einbinden Allgemeine Java-Themen 4
P Applet java 1.7 in Website einbinden ? Allgemeine Java-Themen 7
P Applet Applet einbinden Probleme Allgemeine Java-Themen 2
S URL File in Applet Allgemeine Java-Themen 16
S Fehler Applet-HTML Allgemeine Java-Themen 5
C Applet per Greasemonkey aufrufen Allgemeine Java-Themen 9
U Wie kann mit einen Java Applet Dateien erstellen,verschieben und löschen? Allgemeine Java-Themen 9
D JAVA Applet MVC? Allgemeine Java-Themen 2
E Application -> Applet Allgemeine Java-Themen 9
A Applet Mein Applet verursacht Browserabsturz Allgemeine Java-Themen 8
J Erste Schritte Applet allgemeine Funkion Allgemeine Java-Themen 8
T Java Application zu Applet Allgemeine Java-Themen 4
G Input/Output java applet schreibrechte Allgemeine Java-Themen 8
A Input/Output Applet-Zugriff auf PHP-Schnittstelle (externer Server) Allgemeine Java-Themen 22
G java applet und com-port Allgemeine Java-Themen 7
A Applet Jar Datei auslesen Allgemeine Java-Themen 3
M Applet aus Eclipse Allgemeine Java-Themen 12
M Applet Oberfläche aktualisieren Allgemeine Java-Themen 5
S Applet maximiert starten Allgemeine Java-Themen 5
A Email-Programm aus Applet öffnen Allgemeine Java-Themen 4
M AccessControlException bei Signiertem Applet Allgemeine Java-Themen 12
J Applet Ausgabe beim Speichern ausblenden Allgemeine Java-Themen 4
schlingel Webstart/Applet Problem - Classloader-Bug Allgemeine Java-Themen 7
W Java Applet läuft langsam Allgemeine Java-Themen 2
J Applet zum .java-Dateien auslesen/erstellen Allgemeine Java-Themen 5
S Timer in Applet? Allgemeine Java-Themen 11
S Applet Einbindung - Firefox kp, IE no way Allgemeine Java-Themen 8
N Gallery Remote Applet Allgemeine Java-Themen 2
F Link in Applet "verstecken" Allgemeine Java-Themen 3
F mit Applet auf .htaccess geschützte Dateien zugreifen Allgemeine Java-Themen 3
S Applet in Java NetBeans Allgemeine Java-Themen 3
E Applet neustarten Allgemeine Java-Themen 2
F Eclipse JAVAMAIL läuft nur unter Eclipste Applet Viewer Allgemeine Java-Themen 4
I RMI Signiertes Applet ohne Warnung? Allgemeine Java-Themen 14
S Mediaplayer-Applet Allgemeine Java-Themen 2
D Code wird im Applet nicht ausgeführt. Allgemeine Java-Themen 2
H Applet java.lang.reflect.InvocationTargetException Allgemeine Java-Themen 9
N Protocol Frame/Applet Allgemeine Java-Themen 4
J Aus Applikation ein Applet machen Allgemeine Java-Themen 5
S Directory im Applet auslesen Allgemeine Java-Themen 3
A Textdatei im Applet einlesen Allgemeine Java-Themen 2
S Applet funktioniert online - nur nicht lokal..? Allgemeine Java-Themen 2
N Java Applet im eingeschränkten Benutzeraccount Allgemeine Java-Themen 10
L Applet immer wieder neu laden - Problem Allgemeine Java-Themen 25
L Problem beim animieren von Bildern in Applet Allgemeine Java-Themen 23
L Problem mit Hintergrund bei JAVA Applet Allgemeine Java-Themen 27
T applet und JFrame Allgemeine Java-Themen 12
L Applet Verzeichnis lesen Allgemeine Java-Themen 3
J Ordnerstrukturen mit Applet Allgemeine Java-Themen 14
H importierte Bibliotheken in Applet? Allgemeine Java-Themen 4
lumo Applet exception Allgemeine Java-Themen 6
Developer_X Java Applet - Font aus datei laden Allgemeine Java-Themen 15
W Applet notinited nach Java Versionsupdate Allgemeine Java-Themen 12
M Erkennung von Daten in einem Applet Allgemeine Java-Themen 2
M wieder mal applet probleme Allgemeine Java-Themen 17
0 Sandbox und Applet Kommunikation Allgemeine Java-Themen 9
L Applet Problem - stockende und springende Bilderabfolge Allgemeine Java-Themen 12
ChackZz Applikation zu Applet umbauen Allgemeine Java-Themen 13
V Fehler bei Applet Allgemeine Java-Themen 11
G Frage zu Serverapplikation+Applet Allgemeine Java-Themen 2
MQue aus einem Applet auf Word zugreifen Allgemeine Java-Themen 3
B Java Applet unter Mac wird nicht angezeigt Allgemeine Java-Themen 6
N Applet Probleme Allgemeine Java-Themen 2
G Java Applet für VPN Allgemeine Java-Themen 2
C Applet: JFileChooser: PFad an HTML zürückgeben Allgemeine Java-Themen 4
B Zugriff mit einem Applet auf den Datenträger Allgemeine Java-Themen 11
S Applet Programmierung in Eclipse Allgemeine Java-Themen 12
M Applet in maximaler Bildschirmgroesse oeffnen? Allgemeine Java-Themen 7
J Applet in JAR packen - was muss in main() stehen? Allgemeine Java-Themen 12
P Applet Funktionalität überwachen Allgemeine Java-Themen 3
hdi Applet, JavaScript, PHP, mySQL -> Was brauch ich? Allgemeine Java-Themen 3
C Externe Bilder in Java-Applet blocken? Allgemeine Java-Themen 2
T Mit Applet per RandomAccessFile Datei öffnen Allgemeine Java-Themen 3
Horst79 Ein ganz simpler filebrowser als applet Allgemeine Java-Themen 2
A Problem mit signiertem Applet Allgemeine Java-Themen 8
T File runterladen mit meinem Applet? Allgemeine Java-Themen 4
F Java Print mit Applet einbinden Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben