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