加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 使用JNDI的LDAP用户密码验证

发布时间:2020-12-14 05:52:04 所属栏目:Java 来源:网络整理
导读:public static void main(String[] args){ String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory"; String MY_HOST = "ldap://Localhost:1389"; String MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal"; String MGR_PW = "password"; //Identify service pr
public static void main(String[] args)
{
    String INITCTX = "com.sun.jndi.ldap.LdapCtxFactory";
    String MY_HOST = "ldap://Localhost:1389";
    String MGR_DN = "cn=John,ou=Users,o=IT,dc=QuizPortal";
    String MGR_PW = "password";           

    //Identify service provider to use
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,INITCTX);
    env.put(Context.PROVIDER_URL,MY_HOST);
    env.put(Context.SECURITY_AUTHENTICATION,"simple");
    env.put(Context.SECURITY_PRINCIPAL,MGR_DN);
    env.put(Context.SECURITY_CREDENTIALS,MGR_PW);

    try
    {
        // Create the initial directory context
        InitialDirContext initialContext = new InitialDirContext(env);

        System.out.println("Context Sucessfully Initialized");
    }
    catch(Exception e)
    {
        System.err.println(e);
    }
}

我想询问何时将MGR_DN =“cn = John,ou = Users,o = IT,dc = QuizPortal”设置为MGR_DN =“uid = 103,dc = QuizPortal”.基本上从cn到uid,我会遇到一个错误

javax.naming.AuthenticationException: [LDAP: error code 49 - Invalid Credentials]

当我被指定为cn = John但不是uid = 103时我被认证.我不允许用uid指定吗?

解决方法

您必须指定DN或专有名称.这是用户在目录中绑定的名称.您不能只选择任何属性链.如果您的用户通过“cn”属性绑定,那么只有“cn”属性是DN的一部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读