Интегрированная проверка подлинности 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/