Bonjour à tous,
Je viens de faire un petit pgm "hello world" en java (C'est ma 1ere expérience en matière de prog).
Quand je lance le serveur j'ai l'erreur suivante :
java.security.AccessControlException: access denied
(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
J'ai trouvé sur le Net la solution, mais je n'arrive pas à comprendre ce qu'il faut faire (créer des fichiers? où ça? juste les modifier?..etc) Est ce quelqu'un pourrait me traduire de façon simple le etxte ci dessous pour savoir ce que je dois faire? merci d'avance...c'est un projet que je dois avoir terminé mercredi :(
Lorsque l'on essaie d'utiliser un SecurityManager, on obtient le message d'erreur suivant :
java.security.AccessControlException: access denied
(java.net.SocketPermission 127.0.0.1:1099 connect,resolve)
Modification par programme
System.setSecurityManager (new RMISecurityManager() {
public void checkConnect (String host, int port) {}
public void checkConnect (String host, int port, Object context) {}
});
Le fichier .java.policy
Les permissions du SecurityManager sont spécifiées dans l'ordre :
dans le fichier java.policy de ${java.home}/lib/security/java.policy
puis dans
${user.home}/.java.policy (attention au point !)
Les instructions du fichier policy
Le serveur doit pouvoir accepter des connexions d'un hôte particulier :
permission java.net.SocketPermission "sace.essi;fr", "accept";
ou de tous les hôtes et pouvoir faire resolve également :
permission java.net.SocketPermission "*", "accept, resolve";
Pour définir cela, lancer la commande (sous jdk/bin) (voir aussi "A quick look at policytool"):
policytool
et éditer le fichier .java.policy (sous Linux sous ~, sur PC sur c:\winnt\profiles\votreNomuser)
Merci encore pour votre aide
Gaëlle