Bonjour à tous,
je dois créer un programme similaire à Twitter. La version RMI fonctionne parfaitement, maintenant je dois créer une nouvelle version, toujours en RMI, mais intégré à un navigateur en utilisant JSP/JavaBeans via Tomcat.
Je n'avais pas de problème de policy avec l'ancienne version, mais là c'est la galère : j'ai tenté tout ce que j'ai trouvé sur internet, rien n'y fait, il y a toujours un problème de "java.security.AccessControlException: access denied" : parfois c'est SocketException, sinon c'est "java.util.PropertyPermission * read,write" alors que dans mon fichier policy tout est autorisé :
Voila la méthode où a toujours lieu l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 grant { permission java.security.AllPermission; permission java.net.SocketPermission "127.0.0.1:1099","connect,accept,resolve"; permission java.net.SocketPermission "*:80", "connect"; permission java.util.PropertyPermission "*", "read,write"; permission java.lang.RuntimePermission "createSecurityManager,setSecurityManager"; };
J'ai tenté de la modifier dans tous les sens et rien n'y fait, je suis désespéré... Peut-être est-ce car je place mal le policy ? Où faut-il le mettre ? En fait je crée un .war que je déploie ensuite via tomcat. Le policy est dans le dossier avec toutes les classes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void setInterface() throws NotBoundException, MalformedURLException, RemoteException{ System.getProperties().put("java.security.policy", "policy"); System.setSecurityManager(new RMISecurityManager()); this.myIntTwitter = (InterfaceTwitter) Naming.lookup("rmi://localhost:1099/abs"); }
Quelqu'un peut-il m'aider ?
Cordialement.
Partager