Интегрированная проверка подлинности Windows в Active Directory Java

Вы можете увидеть в следующих сообщениях

http://forums.sun.com/thread.jspa?threadID=603815

http://forums.devshed.com/ldap-programming-76/active-directory-services-using-java-api-89586.html пример доступа к LDAP с использованием InitialLdapContext класс на Java. Это требует ввода имени пользователя и пароля. (Даже если учетная запись службы или пользователь, выполняющий процесс Java, уже вошли в систему, чтобы иметь возможность работать.)

Поскольку учетная запись пользователя или службы уже вошла в систему - они уже могут выполнять команды активного каталога, как показано ниже, без имени пользователя или пароля:

dsquery user -samid "login" |dsget user -samid -email -display

Так зачем Java логин и пароль - если этот запрос уже доступен для windows? Косуке намекает, что это не требуется в этом сообщении блога в заключение:

https://community.oracle.com/blogs/kohsuke/2008/06/12/more-active-directory-integration-java

Мой вопрос - как мы можем вызвать активный каталог в Java без:

  • используя логин или пароль (работает под учетной записью, которая уже вошла в систему)?
  • выполнить команду в командной строке?

2 ответа

Решение

Это, вероятно, происходит потому, что

  • Вы используете библиотеки / контексты LDAP для связи с Active Directory, и эти библиотеки должны поддерживать другие типы LDAP (AD даже считается LDAP?)
  • Поставщики этих реализаций являются теми, кто требует этого. Связь LDAP осуществляется через провайдеров, которые предоставляют реализацию, а не из-за фактической среды выполнения Java.
  • Пароль текущего пользователя (я надеюсь) фактически не предоставляется Windows для Java.

Когда Windows аутентифицирует вас по AD, когда вы запускаете приложения, которые в ней нуждаются, она представляет другой набор учетных данных, помимо вашего действительного пароля. Эти учетные данные недоступны в Java, или, по крайней мере, ни один из поставщиков коммуникаторов LDAP не предоставил способ его получения.

В своем другом посте на эту тему Kohsuke рассказывает немного больше о том, почему все обстоит именно так, как в Java-земле, когда дело доходит до Active Directory.

Также вы можете перейти по ссылке ниже, чтобы найти подробные инструкции по работе встроенной аутентификации Windows на платформе Java.

http://webmoli.com/2009/08/29/single-sign-on-in-java-platform/

Другие вопросы по тегам