首页 文章

LDAP用户无权浏览目录时如何绑定

提问于
浏览
0

我们有一个允许通过LDAP进行身份验证的java Web应用程序 . 基本上,它遵循这个过程:

  • 绑定到具有搜索目录权限的admin用户的目录 .

  • 获取用户名/值,并在目录中搜索在特定属性中具有该用户名/值的用户 .

  • 与使用输入的密码找到的用户绑定 .

  • 如果绑定成功,我们授予登录权限 .

这很好用,但我们最近遇到了LDAP用户登录的环境,无权访问目录本身 . 这会在绑定时导致错误 . (admin用户绑定正确,并搜索目录 . 它只是与找到的用户失败的最终绑定) .

来自LDAP目录(CA Directory)的内部日志记录显示绑定功能已成功,但作为绑定过程的一部分,绑定用户正在查找自己...它无权访问 . 这会导致绑定失败 .

使用此java代码完成对LDAP的绑定 .

Properties props = new Properties();
        props.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
        props.put(Context.PROVIDER_URL, createLDAPString());       
        props.put(Context.SECURITY_AUTHENTICATION, "simple");
        props.put(Context.SECURITY_PRINCIPAL, username);
        props.put(Context.SECURITY_CREDENTIALS, password);

        return new InitialLdapContext(props, null);

有没有办法阻止内部查找发生?

或者我是否可以在不绑定的情况下验证用户/密码?即 . 代表另一个用户绑定..或手动比较密码(听起来不太好) .

谢谢 .

1 回答

  • 2

    目录设置不正确 . 用户应该能够阅读自己的条目 .

相关问题