.java.fichier de stratégie et locales de l'applet

Je suis en train de travailler sur une page HTML qui est l'utilisation de Javascript pour interagir avec une applet Java. La page HTML, fichiers javascript, et .fichier jar de l'applet sera déployé localement à un dossier sur l'utilisateur du système de fichiers.

(Implmenting cela comme une application Java autonome n'est pas une option ici; pour différentes raisons que je ne vais pas expliquer ici).

L'applet doit faire local e/s de fichier. En tant que tel, je suis d'essayer de l'ajustez les paramètres de l'utilisateur .java.la politique de fichier pour permettre cela.

J'ai trouvé la configuration suivante est le seul qui fonctionne:

grant 
{
  permission java.io.FilePermission "<<ALL FILES>>", "read";
  permission java.io.FilePermission "<<ALL FILES>>", "write";
};

Ce n'est pas l'idéal, en tant qu'il confère toutes les applets autorisations en lecture et en écriture de tous les fichiers. Naturellement, je préfère isoler à la base de code. Cependant je ne pouvais pas trouver un "grant codeBase" syntaxe 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";
};

C'est en cours d'exécution à l'aide de cette configuration:

  • Firefox 3.6.10
  • Java 1.6 mise à jour du 25
  • Windows 7 64 bits

Où je vais-je tort dans la mise en place .java.la politique de fichier?

Je suis assez rouillé pour le monde Java, en particulier de travailler avec les applets - de sorte que votre expertise est appréciée!

OriginalL'auteur rugcutter | 2011-05-23