Bonjour,
J'écrit actuellement un script en Java qui doit me récupérer le nom d'utilisateur de la session courante sous Windows.
Pour cela j'utilise un applet ainsi qu'une classe "utilisateur".
Voici leurs code :
et
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Utilisateur { private String nom; public Utilisateur() { this.nom = System.getProperty("user.name"); } public String getNom() { return this.nom; } }
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Applet extends JApplet {// La classe AppletSommets hérite de la classe APPLET public void init() { Utilisateur unUtilisateur = new Utilisateur();//On créé un utilisateur String nom_util = unUtilisateur.getNom();//on récupère son nom final JTextField txtReponse = new JTextField();//on construit le champ qui recevra le nom txtReponse.setText(nom_util);//on met le nom dans un champ de l'applet JPanel pnl = new JPanel (new java.awt.GridLayout (1,1,1,1));//on constrauit le panel pnl.add (txtReponse);//On ajoute le champ au panel getContentPane().add (pnl, BorderLayout.NORTH);//on met le panel dans l'applet } }
Cependant ça ne fonctionne pas, l'applet m'affiche une jolie croix rouge et le message d'erreur de la console JAVA est le suivant :
D'après ce que j'en déduis c'est un problème de sécurité, mais comment le contourner?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 java.security.AccessControlException: access denied (java.util.PropertyPermission user.name read) at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPropertyAccess(Unknown Source) at java.lang.System.getProperty(Unknown Source) at Utilisateur.<init>(Utilisateur.java:6) at Applet.init(Applet.java:8) at sun.applet.AppletPanel.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
Merci.
Partager