2009-04-07 4 views

Répondre

12
System.getProperty("user.name") 
+0

Merci beaucoup pour votre aide. – VansFannel

+0

Puis-je l'utiliser sur une application Web Java? – VansFannel

+5

C'est très facile à usurper. -Duser.name = Administrateur –

12

Si vous devez le nom de domaine, vous pouvez utiliser ceci:

com.sun.security.auth.module.NTSystem NTSystem = new 
      com.sun.security.auth.module.NTSystem(); 
    System.out.println(NTSystem.getName()); 
    System.out.println(NTSystem.getDomain()); 

Bye.

+0

Puis-je l'utiliser sur une application Web Java? – VansFannel

+0

Non. Ceci est destiné à une application Java (système d'exploitation Windows). – RealHowTo

+0

Celui-ci est meilleur que l'exemple System.getProperty ("user.name"), car il est très facile de tromper la JVM pour penser qu'il y a un autre utilisateur connecté. – Azder

0

Remarque: System.getProperty ("user.name") ne fonctionnera que si l'utilisateur lance l'application. Si le programme est exécuté par System ou une application comme LANDesk, l'utilisateur apparaîtra comme "SYSTEM" (sous le domaine "NT AUTHORITY").

Dans ce cas, la deuxième solution utilisant NTSystem renverra les résultats corrects.

0

J'ai remarqué que le topicstarter demande par la suite dans les commentaires s'il peut l'utiliser dans une webapp Java qui a reçu une réponse "non" à chaque fois. Cela est vrai si vous exécutez le code particulier du côté serveur, mais pas si vous l'exécutez du côté client dans la saveur d'une applet ou jnlp qui est incorporée dans la page jsp/html demandée. Il doit cependant envoyer les informations nécessaires au serveur après.

Questions connexes