Java.security.AccessControlException
mcmazigh
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
kij_82 Messages postés 4260 Statut Contributeur -
kij_82 Messages postés 4260 Statut Contributeur -
Bonjour,
je suis en train de développer un jeu multi-joueur en ligne, j'ai besoin d'accéder à des fichiers .properties, mais depuis que j'ai crée une Applet j'ai ce message d'erreur,
java.security.AccessControlException: access denie(java.io.FilePermission url.properties read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.jogre.client.awt.ConnectionPanel.<init>(ConnectionPanel.java:154)
at org.jogre.client.awt.JogreClientApplet.init(JogreClientApplet.java:95)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
j'ai vu qu'il faut modifier un fichier .policy mais je ne sais pas où je vais le retrouver ou où est ce que je dois le mettre
sachant que si je lance l'applet depuis eclipse tout marche à merveille.
IDE : eclipse
navigateur : j'ai essayé avec firefox 3 et internet explorer 7
version java : Java SE 6 update 6
je suis en train de développer un jeu multi-joueur en ligne, j'ai besoin d'accéder à des fichiers .properties, mais depuis que j'ai crée une Applet j'ai ce message d'erreur,
java.security.AccessControlException: access denie(java.io.FilePermission url.properties read)
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkRead(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at org.jogre.client.awt.ConnectionPanel.<init>(ConnectionPanel.java:154)
at org.jogre.client.awt.JogreClientApplet.init(JogreClientApplet.java:95)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
j'ai vu qu'il faut modifier un fichier .policy mais je ne sais pas où je vais le retrouver ou où est ce que je dois le mettre
sachant que si je lance l'applet depuis eclipse tout marche à merveille.
IDE : eclipse
navigateur : j'ai essayé avec firefox 3 et internet explorer 7
version java : Java SE 6 update 6
2 réponses
Bonjour,
Tu fais quoi exactement avec fichier properties ?
Tu essai de le lire avec l'applet c'est ça ? Ton fichier de properties est-il accessible via URL sur ton serveur ?
Vu ton message d'erreur je pense que c'est oui pour ces questions mais on ne sais jamais :)
Le fichier policy doit être placé dans le répertoire où se situe ton fichier de properties (répertoire protégé donc) avec le contenu suivant:
Attention: tu dis vouloir modifier un fichier policy, mais comme il s'agit d'une application à toi, ce fichier doit certainement ne pas exister, il faut que tu le créer ('policy' tout court pour le nom du fichier)
Tu fais quoi exactement avec fichier properties ?
Tu essai de le lire avec l'applet c'est ça ? Ton fichier de properties est-il accessible via URL sur ton serveur ?
Vu ton message d'erreur je pense que c'est oui pour ces questions mais on ne sais jamais :)
Le fichier policy doit être placé dans le répertoire où se situe ton fichier de properties (répertoire protégé donc) avec le contenu suivant:
grant {
permission java.security.AllPermission;
};
Attention: tu dis vouloir modifier un fichier policy, mais comme il s'agit d'une application à toi, ce fichier doit certainement ne pas exister, il faut que tu le créer ('policy' tout court pour le nom du fichier)
en fait j'ai besoin de ce fichier properties pour la configuration du serveur, son adresse et le port sur lequel je vais me connecter.
D'autre part ce fichier existe avec l'applet dans un archive .jar
D'autre part ce fichier existe avec l'applet dans un archive .jar
Mum, ce fichier de configuration est utilisé par ton serveur ou par l'applet ?
Il faut faire attention, une applet s'exécute coté client (dans le navigateur) et sera donc considéré comme un programme externe au serveur)
Tu dis que ce fichier est situé dans le .jar ?
Mum, est ce que tu déploie ton .jar / ton serveur pour l'installer quelque part ? J'imagine que oui, tu ne lance pas le .jar comme ça ? Si ton .jar est en fait l'archive de ton projet, lorsque tu le déploie j'imagine que ça te recréé l'arborscence de ton serveur. Si oui tu devrais alors avoir ton répertoire de configuration quelque part (si tu l'as bien créé avant d'archiver) avec dedans ton fichier de configuration + le fichier des droits que tu as rajouté depuis.
Il faut faire attention, une applet s'exécute coté client (dans le navigateur) et sera donc considéré comme un programme externe au serveur)
Tu dis que ce fichier est situé dans le .jar ?
Mum, est ce que tu déploie ton .jar / ton serveur pour l'installer quelque part ? J'imagine que oui, tu ne lance pas le .jar comme ça ? Si ton .jar est en fait l'archive de ton projet, lorsque tu le déploie j'imagine que ça te recréé l'arborscence de ton serveur. Si oui tu devrais alors avoir ton répertoire de configuration quelque part (si tu l'as bien créé avant d'archiver) avec dedans ton fichier de configuration + le fichier des droits que tu as rajouté depuis.