Bonjour,
Je suis en train de développer un petit Applet pour récupérer le nom de l'utilisateur local (sous XP en intranet uniquement). Je suis tombé sur quelques sujets qui m'ont aidé sur ce site, mais malgré tout, je n'arrive pas à obtenir les droits nécessaires pour lire mon paramètre user.name
comme je souhaiterai.
J'ai bien évidement tenté de faire un certificat, sans succès, puis de modifier le fichier java.policy sur mon poste. Quand j'ajoute un :
permission java.util.PropertyPermission "user.name", "read";
là ça fonctionne, mon user.name est bien lu
Sauf que, pour des raison pratique et transparente pour les utilisateurs, je ne veux pas avoir à modifier tous les java.policy de mon parc client !
J'ai pu lire qu'il était possible de modifier ces droits un peu a la volée, a l'aide de la classe AccesController. J'ai intrégré cette classe, comme indiqué dans la doc java, mais mes droits sont toujours denied en ce qui concerne la lecture de mon user.name![]()
import javax.swing.*;
import java.awt.*;
import java.security.*;
public class InfoSystem extends JApplet {
public void init() {
String userName = (String) AccessController.doPrivileged (new PrivilegedUserNameAccess());
final JTextField txtReponse = new JTextField();
txtReponse.setText(userName);
JPanel pnl = new JPanel (new java.awt.GridLayout (1,1,1,1));
pnl.add (txtReponse);
getContentPane().add (pnl, BorderLayout.NORTH);
}
}
class PrivilegedUserNameAccess implements java.security.PrivilegedAction {
public Object run() {
return System.getProperty ("user.name");
}
}
Quelqu'un saurait il pourquoi, ma classe "privilège", ne me donne pas les droits voulu ?
Merci a tous par avance![]()
Partager