2009-04-07 7 views
6

ウィンドウドメインにログオンしているユーザを検出できるJavaアプリケーションを開発したい。これらの資格情報は、Javaアプリケーションへのログオンに使用されます。Javaを使ってコンピュータにログオンしたユーザを検出する

どうすればいいですか?

ありがとうございます!

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

さようなら:あなたは、ドメイン名に必要がある場合

答えて

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

ありがとうございました。 – VansFannel

+0

これをJava Webアプリケーションで使用できますか? – VansFannel

+5

これは偽装するのが非常に簡単です。 -Duser.name = Administrator –

12

することは、あなたがこれを使用することができます。

+0

これをJava Webアプリケーションで使用できますか? – VansFannel

+0

これはJavaアプリケーション(Windows OS)用です。 – RealHowTo

+0

これはSystem.getProperty( "user.name")の例よりも優れています。これはJVMにログインした別のユーザーがいると思うように簡単にトリックするためです。 – Azder

0

注:System.getProperty( "user.name")は、ユーザーがアプリケーションを起動した場合にのみ機能します。プログラムがシステムまたはLANDeskのようなアプリケーションで実行されている場合、ユーザーは "SYSTEM"(ドメイン "NT AUTHORITY"の下)として出てきます。

この場合、NTSystemを使用する2番目の解決策は正しい結果を返します。

0

私は毎回「いいえ」と答えられたJava Webアプリケーションでtopicstarterがそれをコメントで使用することができることに気付きました。これは、特定のコードをサーバー側で実行する場合には当てはまりますが、要求されたjsp/htmlページに埋め込まれているアプレットまたはjnlpのフレーバーでクライアント側で実行する場合はそうではありません。しかし、その後、必要な情報をサーバー側に送信する必要があります。

関連する問題