Приложение Java JEE5.Клиент с аутентификацией Windows и без запроса имени пользователя и пароля - PullRequest
0 голосов
/ 14 ноября 2010

У нас есть корпоративное приложение JAVA JEE5, состоящее из веб-модуля и клиента приложения, работающего на glassfish.

Нам нужно установить аутентификацию по активному каталогу. Я знаю, что установить аутентификацию на основе LDAP для веб-модуля или клиентского модуля приложения легко, но они просят нас при входе в клиент приложения выбрать учетные данные из входа в систему Windows и что каким-то образом учетные данные передаются в ejb. Уровень как обычно. Это включает не только пользователя, но и роли.

Вкратце, мой вопрос таков: может ли JAAS подключиться к механизму проверки подлинности Windows для настольных клиентов, не запрашивая у пользователя имя пользователя и пароль?

Спасибо, Пабло.

Ответы [ 2 ]

1 голос
/ 14 ноября 2010

Я не знаю о деталях или совместимости JAAS, но я считаю, что SPNEGO и / или Встроенная проверка подлинности Windows - это то, что вы ищете.

0 голосов
/ 14 ноября 2010

Я не пробовал это, но вот пример кода для извлечения имени пользователя NTLM из браузера:

http://www.rgagnon.com/javadetails/java-0441.html

Но, поскольку вы говорите о настольном приложении, ваш вопрос может заключаться в том, как получить имя пользователя из вашего Java-приложения, поскольку NTLM действительно не задействован.

http://www.roseindia.net/java/java-get-example/java-get-windows-username.shtml

Обычно вы просто используете: System.getProperty("user.name").

UPDATE

Поскольку нужны роли и все, вы можете обнаружить, что использование JNI (http://download.oracle.com/javase/6/docs/technotes/guides/jni/) может быть вашим лучшим выбором, но затем вы привязываете это приложение к Windows, но, похоже, оно будет в любом случае, так как вы затем можно вызывать функции Windows API из Java.

...