Problème Applet : Access Denied

Problème Applet : Access Denied - Java - Programmation

Marsh Posté le 30-03-2005 à 04:11:04    

Bonjour,
 
voila mon problème en fait j'ai écrit un petit applet java qui fait appel à des classes etc qui se trouvent dans un .jar
jusque la pas de soucis me direz vous
 
lorsque j'essaye de lancer l'applet sous eclipse la non plus pas de problème
 
par contre lorsque j'essaye de le lancer via une page web la j'ai toujours une erreur :

Code :
  1. java.security.AccessControlException: access denied (java.lang.RuntimePermission getClassLoader)
  2. at java.security.AccessControlContext.checkPermission(AccessControlContext.java:270)
  3. at java.security.AccessController.checkPermission(AccessController.java:401)
  4. at java.lang.SecurityManager.checkPermission(SecurityManager.java:542)
  5. at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:1031)
  6. at uk.ac.ic.doc.scenebeans.animation.parse.BeanFactory$Package.<init>(BeanFactory.java:50)
  7. at uk.ac.ic.doc.scenebeans.animation.parse.BeanFactory$Category.addPackage(BeanFactory.java:86)
  8. at uk.ac.ic.doc.scenebeans.animation.parse.BeanFactory.addPackage(BeanFactory.java:127)
  9. at uk.ac.ic.doc.scenebeans.animation.parse.XMLAnimationParser.<init>(XMLAnimationParser.java:107)
  10. at AnimatorApplet.init(AnimatorApplet.java:42)
  11. at sun.applet.AppletPanel.run(AppletPanel.java:347)
  12. at java.lang.Thread.run(Thread.java:536)


 
J'ai vu que pas mal de personnes ont eu ce problème mais il n'y a jamais vraiment de solution... :/
 
Si je lance l'applet viewer via le command prompt j'ai ca
 
C:\>java -Djava.security.policy=java.policy.applet sun.applet.AppletViewer tus.htm
uk.ac.ic.doc.scenebeans.animation.parse.AnimationParseException: failed to create scene bean: no cla
ss found for scene bean of type "scale"
        at uk.ac.ic.doc.scenebeans.animation.parse.XMLAnimationParser.newSceneBean(XMLAnimationParse
r.java:1157)
        at uk.ac.ic.doc.scenebeans.animation.parse.XMLAnimationParser.createTransformNode(XMLAnimati
onParser.java:986)  
....
 
ce qui n'est pas nettement mieux non plus
 
enfin la question qui m'occupe le plus c'est pourquoi cet applet se lance sans probleme sous eclipse et qu'il ne veut rien entendre ailleurs :'(
 
un grand merci

Reply

Marsh Posté le 30-03-2005 à 04:11:04   

Reply

Marsh Posté le 30-03-2005 à 08:39:10    

Alors j'ai déjà eu un probleme similaire.
C'était pas avec éclipse, mais c'est pareil...
Le probleme lorsque tu lances des applets avec les logiciels de développement, c'est qu'il n'y a pas les restrictions qu'imposent les navigateurs.
Moi par exemple, j'essayais d'ouvrir une socket avec mon Applet, or c'est interdit. Idem si t'essaies d'ecrire dans un fichier sur le Disc Dur.
J'avais moi aussi une "java.security.AccessControlException: access denied "
La solution pour moi a été de signer mon Applet.
Ya un topic la dessus, tu vas voir c'est pas sorcier :  
http://forum.hardware.fr/forum2.ph [...] subcat=390

Reply

Marsh Posté le 30-03-2005 à 15:49:16    

voila en fait ca ne fonctionne pas malheureusement :(
en local ca fonctionne toujours évidemment (je vois meme le fichier html généré par éclipse)
 
en fait si je pouvais mettre quelque part  
un truc qui ait le même effet que
 
grant {
  permission java.security.AllPermission;
};
 
ici je n'ai aucun besoin que ce soit sécurisé ou pas
tout ce que je veux c'est pouvoir avoir mon applet dans une page web autrement que via eclipse :)
 
mon application c'est
un jar qui contient une classe principale
 
et a l'intérieur du jar certaines classes ont besoin d'autres jars
les dépendances sont spécifiées par manifest au sein de chaque .jar
 
enfin si quelqu'un arrive a faire marcher ce truc...  
 
ps j'ai essayé de signer tous les jars ca ne fonctionne pas mieux
je suis désespéré  :cry:  
 
Si il y a des motivés :  
http://sevenspirit.free.fr/tus/testapplet/
 
un grand merci

Reply

Marsh Posté le 30-03-2005 à 16:37:53    

enfin la je n'ai plus d'erreur de sécurité mais il vient me donner un null a la con alors qu'en local ca fonctionne :(

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed