Applet Java: AccessControlException à nouveau

Encore une fois délivrer avec les privilèges des applets signés.

Je veux que mon applet auto-signé supprime un fichier du lecteur local, mais je reçois l'exception:

java.security.AccessControlException: access denied
  (java.io.FilePermission /Users/me/tmp.txt delete)

Ici j'appelle la suppression:

    public void deleteFile( String path )
    {
        AccessController.doPrivileged( new Deleter( path ));
    }

et cette classe supprime le fichier:

class Deleter implements PrivilegedAction {
    public Deleter( String path ) {
        m_path = path;
    }

    public Object run()
    {
        File file = new File( m_path );
        file.delete();
        return null;
    }

    private String m_path;
};

Le code HTML est:



 

RESOLU:

J'avais besoin d'ajouter la politique (sous OS X):

cat >> ~/.java.policy

grant {
  permission java.io.FilePermission "<>", "delete";   
};
0
Je ne comprends pas pourquoi c'est un problème pour une applet signée
ajouté l'auteur Jakub M., source
Errr ... pas de fichier de politique, n'est-ce pas une alternative à signer? (apparemment non :)
ajouté l'auteur Jakub M., source
@EJP: oui, confiance, acceptez tout, etc.
ajouté l'auteur Jakub M., source
Avez-vous demandé à votre navigateur de faire confiance à votre certificat auto-signé lorsqu'il vous le demandait?
ajouté l'auteur EJP, source
Comprenez-vous pourquoi c'est un problème de sécurité?
ajouté l'auteur Jivings, source
Bien, qu'est-ce qu'il y a dans votre fichier de politique?
ajouté l'auteur Jivings, source

1 Réponses

Pour accorder des autorisations, les applets ont besoin d'un fichier de stratégie. Cela définit ce qu'ils peuvent faire pour le système des utilisateurs. Vous pouvez trouver plus d'informations ici .

0
ajouté