Java 如何使用Windows身份验证调用Active Directory而不提示输入用户名/密码?
您可以在以下文章中看到使用Java中的Java 如何使用Windows身份验证调用Active Directory而不提示输入用户名/密码?,java,command-line,active-directory,windows-authentication,Java,Command Line,Active Directory,Windows Authentication,您可以在以下文章中看到使用Java中的InitialLdapContext类访问LDAP的示例: 这需要传入登录名和密码(即使运行java进程的服务帐户或用户已经登录才能运行) 由于用户或服务帐户已登录-他们可以在不使用用户名或密码的情况下运行如下active directory命令: dsquery user -samid "login" |dsget user -samid -email -display 那么,如果Windows已经可以使用此查询,为什么Java需要登录密码呢?Kos
InitialLdapContext
类访问LDAP的示例:
这需要传入登录名和密码(即使运行java进程的服务帐户或用户已经登录才能运行)
由于用户或服务帐户已登录-他们可以在不使用用户名或密码的情况下运行如下active directory命令:
dsquery user -samid "login" |dsget user -samid -email -display
那么,如果Windows已经可以使用此查询,为什么Java需要登录密码呢?Kosuke暗示,这篇博文在结论中没有要求:
如果没有以下条件,我们如何在Java中调用Active Directory:
- 使用登录名或密码(在已登录的帐户下运行)
- 在命令行上执行命令
- 您正在使用LDAP库/上下文与Active Directory进行通信,这些库需要支持其他类型的LDAP(AD是否算作LDAP?)
- 这些实现的提供者就是需要它的人。LDAP通信是通过提供实现的提供者完成的,而不是由实际的Java运行时完成
- 当前用户的密码不是(我希望)由Windows提供给Java的
- 这可能是因为