Java: как получить доступ к учетным данным Windows из браузера IE - PullRequest
1 голос
/ 06 февраля 2012

Как я могу получить учетные данные для текущего вошедшего в систему пользователя Windows, который обращается к моему веб-приложению в java

Из автономного приложения я могу получить доступ к идентификатору пользователя вошедшего в систему пользователя окна, используя

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

Однако это не будет работать для веб-приложения, поскольку оно всегда будет распечатывать идентификатор пользователя, который запускает Tomcat, а не идентификатор пользователя, который обращается к веб-приложению

Я вижу, как это делалось раньше, что если я захожу на веб-сайт через IE, он автоматически входит в систему, но я использую другой браузер, после чего появляется окно входа.Любая идея, как этого добиться, спасибо?

Мое веб-приложение написано на JSF с Tomcat 7.

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

У вас есть несколько вариантов для достижения этой цели.У Tomcat есть несколько предложений на их домашней странице .Я использовал как IIS-интерфейс, так и расширение Kerberos для Spring-Security, и они прекрасно работают.

1 голос
/ 06 февраля 2012

Вам необходимо использовать библиотеку, которая может получать маркер Kerberos, который будет отправлен IE (при условии, что он настроен с помощью встроенной аутентификации Windows).

Существует несколько подходов / библиотек для этого, которые хорошо документированы на сайте Apache для Tomcat. Вот, пожалуйста: http://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html

...