我有一个到 LDAP 服务器(本例中为 Active Directory)的 JNDI 连接。我还 ctx.extendedOperation( new StartTlsRequest() )
来获得安全连接。
在此连接上我需要验证凭据。我可以使用登录
ctx.addToEnvironment( Context.SECURITY_AUTHENTICATION, "simple" );
ctx.addToEnvironment( Context.SECURITY_PRINCIPAL, principal );
ctx.addToEnvironment( Context.SECURITY_CREDENTIALS, credentials );
但是,“bindRequest”命令仅在对 JNDI 上下文执行下一个操作时通过 ldap 发出。但我不想用它做任何事。我只需要检查凭据。有没有办法强制执行“bindRequest”?
否则,我应该将操作用作我自己的 NOP 吗?搜索不存在的对象或者我应该查询某个存在的对象的某些属性或......?它需要速度快,不应该在服务器端创建任何工作,并且应该使用尽可能少的带宽。 (因为事实上,行动从一开始就不应该是必要的......)
问候, 史蒂芬
最佳答案
LdapContext.reconnect() 执行 LDAP 绑定(bind)。
关于java - 如何使用 JNDI 在 java 中强制执行 LDAP bindRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348867/