Определить пользователя, вошедшего в систему на компьютере с использованием Java - PullRequest
6 голосов
/ 07 апреля 2009

Я хочу разработать приложение на Java, которое может обнаружить пользователя, вошедшего в домен Windows. Эти учетные данные будут использоваться для входа в приложение Java.

Как я могу это сделать?

Спасибо!

Ответы [ 4 ]

12 голосов
/ 07 апреля 2009

Если вам нужно доменное имя, вы можете использовать это:

  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.

12 голосов
/ 07 апреля 2009
System.getProperty("user.name") 
0 голосов
/ 04 ноября 2009

Я заметил, что автор темы спрашивает потом в комментариях, может ли он / она использовать его в веб-приложении Java, на которое каждый раз отвечал «нет». Это верно, если вы запускаете конкретный код на стороне сервера, но не если вы запускаете его на стороне клиента в виде апплета или jnlp, который встроен в запрошенную страницу jsp / html. Однако впоследствии он должен отправить необходимую информацию на сервер.

0 голосов
/ 04 ноября 2009

Примечание. System.getProperty ("user.name") будет работать только в том случае, если пользователь запускает приложение. Если программа запущена Системой или приложением, таким как LANDesk, то пользователь появится как «СИСТЕМА» (в домене «NT AUTHORITY»).

В этом случае второе решение, использующее NTSystem, выдаст правильные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...