J'ai une applet qui lance cette exception en essayant de communiquer avec le serveur (fonctionnant sur localhost). Ce problème est limité aux applets seulement - un client POJO est capable de communiquer avec le même serveur sans problème.Java: Quels sont les différents paramètres de sécurité disponibles pour les applets?
Exception in thread "AWT-EventQueue-1" java.security.AccessControlException: access denied (java.net
.SocketPermission 127.0.0.1:9999 connect,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
Mon contenu du fichier applet.policy est:
grant {
permission java.security.AllPermission;
};
Ma question est quels sont les autres endroits où je dois modifier mes paramètres de sécurité d'accorder une Applet plus de paramètres de sécurité?
Merci.
EDIT: Une enquête plus approfondie m'a conduit à constater que ce problème ne se produit que sur certaines machines - mais pas d'autres. Il peut donc s'agir d'un paramètre de niveau machine (global) à la place d'un paramètre spécifique à l'application tel que celui du fichier applet.policy.
EDIT: Another SO question: Socket connection to originating server of an unsigned Java applet
Cela semble décrire exactement le même problème, et Tom Hawtin - tackline 's answer fournit la raison pour laquelle (un correctif de sécurité publié qui interdit les applets de se connecter à localhost
). En gardant cela à l'esprit, comment puis-je accorder à l'applet les paramètres de sécurité qui peuvent effectivement fonctionner sur ma machine. Aussi pourquoi fonctionne-t-il tel quel sur d'autres machines mais pas sur les miennes?
Essayez-vous localhost, ou 127.0.0.1?Je crois que j'ai utilisé localhost dans un de mes projets précédents, et cela a fonctionné correctement. –
@tim_yates Yup, j'utilise "localhost", qui se résout en '127.0.0.1' en interne. Mais "127.0.0.1" n'apparaît pas dans mon code si c'est ce que vous voulez dire. – bguiz
Avez-vous essayé de signer votre fichier JAR applet et voir ce qui se passe? –