Java.security.AccessControlException

Fermé
mcmazigh Messages postés 2 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 25 août 2008 - 25 août 2008 à 13:05
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 - 25 août 2008 à 17:02
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

2 réponses

kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 août 2008 à 13:12
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:
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)
-1
mcmazigh Messages postés 2 Date d'inscription lundi 25 août 2008 Statut Membre Dernière intervention 25 août 2008
25 août 2008 à 14:08
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
-1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
25 août 2008 à 17:02
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.
-1