Pbm de droits lors de l'acces d'une applet signée via le javascript - Java - Programmation
Marsh Posté le 22-12-2004 à 17:20:05
Une piste qui marche : Faire un thread lancé dans l'init de l'applet. Celui ci aura les droits de lecture/Ecriture. Lors d'un appel via du javascript, les methodes delegueront à ce thread la lecture/ecriture, qui lui, pourra le faire.
Marsh Posté le 07-12-2004 à 09:09:16
Voila, j'utilise une applet signée sous ie 6.0 avec la jvm de sun 1.4.
L'applet est signée par la méthode JarSigner du jdk 1.4.2 et j'utilise un certificat donnée par l'institut "thawne".
Lors de l'init applet, je verifie a l'aide du securityManager java que j'ai toutes les permissions.
Et cela se passe bien.
Lors de l'appel de l'applet signée par du javaScript j'ai l'erreur suivante :
java.security.AccessControlException: access denied (java.io.FilePermission C:\Documents and Settings\wlanoir\Local Settings\Temp\Appletmp\fi_launch.exe read)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:269)
at java.security.AccessController.checkPermission(AccessController.java:401)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:524)
at java.lang.SecurityManager.checkRead(SecurityManager.java:863)
at java.io.File.exists(File.java:678)
at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:360)
at java.io.File.getCanonicalPath(File.java:513)
at fr.interfacesi.ficheyesng.ihm.applet.FilePickerApplet.lastModified(Unknown Source)
at fr.interfacesi.ficheyesng.ihm.applet.FilePickerApplet.getLastModified(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.plugin.com.MethodDispatcher.invoke(Unknown Source)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
java.lang.Exception: java.security.AccessControlException: access denied (java.io.FilePermission C:\Documents and Settings\wlanoir\Local Settings\Temp\Appletmp\fi_launch.exe read)
at sun.plugin.com.DispatchImpl.invokeImpl(Unknown Source)
at sun.plugin.com.DispatchImpl$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.plugin.com.DispatchImpl.invoke(Unknown Source)
Me disant que je n'ai pas les droits.
Comment je pourrais éviter cette erreur, sans modifier le policy de mon jre.
Merci