IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applets Java Discussion :

Problème de lecture fichier local depuis une applet


Sujet :

Applets Java

  1. #1
    Membre régulier
    Profil pro
    Architecte
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Points : 80
    Points
    80
    Par défaut Problème de lecture fichier local depuis une applet
    Bonjour,
    J'ai l'erreur suivante : java.security.AccessControlException
    lorsque j'essaie de lire un répertoire local depuis une applet.

    J'ai bien sur signé mon applet mais j'ai quand même le problème.
    Tout ce que je trouve sur les forums dit qu'il suffit de signer l'applet.
    Visiblement cela ne suffit pas !

    Après une recherche approfondi sur le forum (google ne remonte pas toujours tout !) j'ai trouvé un post qui précise que le problème vient du javascript !
    Et oui j'appel mon applet depuis une fonction javascript.
    Même en encadrant ma lecture par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    AccessController.doPrivileged(new PrivilegedAction<Object>() {
                    public Object run() {...}});
    J'ai toujours l'erreur.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    il n'y a rien à faire. Si il y a du javascript dans la pile d'appel, java refusera les droits par sécurité.

    La seule solution (dangereuse pour l'utilisateur!) que je connaisse, c'est de traiter l'appel sur un thread séparé:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Thread t = new Thread(){
        public void run(){....}
    };
    t.start();
    t.waitFor();
    Le thread n'aura pas de JS dans sa pile et sera donc considéré comme sain.

  3. #3
    Membre régulier
    Profil pro
    Architecte
    Inscrit en
    Mai 2004
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2004
    Messages : 57
    Points : 80
    Points
    80
    Par défaut
    Finalement j'ai réussi.
    L'encadrement de mon code par AccessController.doPrivileged a suffit.
    Merci quand même pour la réponse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 24/11/2009, 10h17
  2. Ouvrir un fichier depuis une applet
    Par julie4207 dans le forum Applets
    Réponses: 1
    Dernier message: 20/12/2008, 06h23
  3. Réponses: 1
    Dernier message: 21/09/2007, 08h59
  4. [applet] créer un fichier depuis une applet.
    Par BouB dans le forum Applets
    Réponses: 12
    Dernier message: 02/04/2007, 06h45
  5. Télécharger un fichier depuis une applet
    Par doudblast dans le forum Applets
    Réponses: 4
    Dernier message: 08/03/2006, 16h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo