Je travaille sur une page HTML qui utilise Javascript pour interagir avec une applet Java. La page HTML, les fichiers javascript et le fichier .jar de l'applet seront déployés localement dans un dossier du système de fichiers de l'utilisateur.Fichier .java.policy et applet locale
(Implémenter cela comme une application Java autonome n'est pas une option ici, pour diverses raisons, je ne vais pas expliquer ici).
L'applet doit effectuer des E/S de fichiers locaux. En tant que tel, je tente de tweek les paramètres dans le fichier .java.policy de l'utilisateur pour permettre cela.
J'ai trouvé la configuration suivante est la seule qui fonctionne:
grant
{
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
Ce n'est pas idéal, car qu'il accorde toutes les autorisations applets pour lire écrire tous les fichiers. Naturellement je préférerais isoler à la base de code particulière. Cependant, je ne pouvais pas trouver une syntaxe "grant codeBase" qui fonctionne.
J'ai essayé:
grant codeBase "file:/C:/Files/FileIOApplet/-" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
grant codeBase "file:///-" {
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
grant codeBase "file:${user.home}/-"
{
permission java.io.FilePermission "<<ALL FILES>>", "read";
permission java.io.FilePermission "<<ALL FILES>>", "write";
};
Ceci est en cours d'exécution en utilisant cette configuration:
- Firefox 3.6.10
- Java 1.6 mise à jour 25
- Windows 7 64 bits
Où je vais je me trompe n configurer ce fichier .java.policy?
Je suis très rouillée dans le monde Java, en particulier en ce qui concerne les applets - votre expertise est donc appréciée!