【问题标题】:LDAP authentication in JavaJava 中的 LDAP 身份验证
【发布时间】:2016-10-03 09:26:16
【问题描述】:

我需要连接到 LDAP 服务器,但出现以下错误:

javax.naming.AuthenticationException:[LDAP:错误代码 49 - 80090308:LdapErr:DSID-0C090334,注释:AcceptSecurityContext 错误,数据 525,vece

用户名和密码正确,我尝试设置相同的用户并传入另一个用 .NET 编写的应用程序,它在那里工作,但在 Java 中我收到错误消息。

我的代码是:

@RequestMapping(方法 = RequestMethod.GET) public ModelAndView 登录(ModelMap 模型){

    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
    env.put(Context.PROVIDER_URL, "ldap://subdomain.domain.com:389");
    env.put(Context.SECURITY_PRINCIPAL, "uid=username,DC=subdomain,DC=domain,DC=com");
    env.put(Context.SECURITY_CREDENTIALS, "password");


    InitialDirContext context;

    try 
    {
        context = new InitialDirContext(env);
    } 

    catch (NamingException e1) 
    {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

我会请有工作代码的人在这里发布。

谢谢!!

【问题讨论】:

    标签: spring authentication ldap


    【解决方案1】:
    1. Active Directory 不适用于 UID
    2. 不要提供 DN 作为用户名,而是提供用于记录它的常规用户主体名称。

    【讨论】:

    • 你是说这个吗:env.put(Context.SECURITY_PRINCIPAL, domain username); env.put(Context.SECURITY_CREDENTIALS, 密码);
    【解决方案2】:

    如果DN is correct,DN 可以正常工作。

    错误代码 49 - ...数据 525 暗示 LDAP_NO_SUCH_OBJECT(条目不存在。)

    我怀疑“uid=username,DC=subdomain,DC=domain,DC=com”是一个好的 DN。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      • 1970-01-01
      • 2012-09-01
      • 1970-01-01
      • 2019-09-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多