此应用程序将在已在Active Directory中进行身份验证的客户端上运行 .
问题:LDAP协议(或Active Directory设置)似乎需要用户名和密码 .
目标:使用Java在Java中查询Active Directory,而无需进行身份验证(请求用户名和密码) .
要点:运行此应用程序的所有客户端都已登录 . 因此,它们已经过Active Directory的身份验证(进入) .
既然他们已经登录并且可以访问应用程序之外的AD,那么他们是否已经认证并且在我的应用程序中运行我的LDAP查询这一事实是不是可能“莫名其妙”?
错误:试图操纵过去的身份验证;我已经习惯了绑定错误,log4j错误;几乎所有在Stack Overflow,Oracle和Apache上推荐的东西 .
试过的方法:我试过匿名绑定,Ldap api's,nada !!
问题:
-
是否可以在未经身份验证的情况下查询Active Directory?
-
是否可以通过告诉服务器"hey, I am already logged into AD, proceed with my queries?"而不提示用户输入用户名和密码来查询Active Directory?
1 回答
我认为不,你不能因为这会违反安全 . 另一种方法可能是使用单点登录实用程序,让您登录,然后他们将为您提供详细信息 .
您可以尝试使用http://spnego.sourceforge.net/或http://jcifs.samba.org/src/docs/ntlmhttpauth.html来使用NTLM