身份验证异常spring ldap-server和ldaptemplate

时间:2017-03-20 10:36:14

标签: spring spring-mvc security active-directory

首先,请原谅我的英语。

我一直试图找到一个解决方案3天,但我找不到它。

我正在尝试连接到AD LDAP以执行将在应用程序中注册的用户搜索。

通过Spring-Security-CAS对应用程序进行身份验证是正确的。

我遇到的问题是Windows工作正常,但在Linux中部署应用程序时会出现身份验证错误。 我试图根据文档逃避特殊字符,但没关系,错误保持不变。

我只想连接到LDAP以进行用户查询。

我使用的配置是Spring-Ldap标准。

    <security:ldap-server id="contextSource"
    url="${pso.ldap.url}"
    manager-dn="${pso.ldap.userDn}"
    manager-password="${pso.ldap.password}"
    root="${ldap.auth.search.ldap}"/>


<ldap:ldap-template id="ldapTemplate" 
    context-source-ref="contextSource"
    ignore-partial-result="true"/>

用户ID具有此值

CN=Usuario (Autenticación LDAP),OU=xxxx8,OU=XXXXXX XXXXX,DC=DOMAIN,DC=COM

我将非常感谢可能出现的错误或缺少的其他配置。

        try {

        logger.info("MOSTRAR PARAMETROS CONEXION CONTEXTSOURCE....");
        //CATCH WHEN TRY TO WRITE THIS IN ORDER TO VIEW DATA TO TEST.
        //BUT IF COMMENT THIS LINE THEN THE ERROR IS ON search method
        logger.info("PARAMETERS CNX: " + ldapTemplate.getContextSource().getReadOnlyContext().getEnvironment().toString());

        String resultKeySearch = ASTERISK.concat(keySearch).concat(ASTERISK);

        query = query().base(LDAP_BASE)
                .attributes("cn", "userPrincipalName", "sAMAccountName", "displayName")
                .where("objectclass").is("person").and("objectclass").is("user")
                .and(query().where("cn")
                        .like(resultKeySearch)
                        .or("userPrincipalName").like(resultKeySearch)
                        .or("sAMAccountName").like(resultKeySearch)
                        .or("displayName").like(resultKeySearch)
                        );

        persons = ldapTemplate.search(query, new PersonAttributesMapper());

    } catch (org.springframework.ldap.NamingException e) {
        logger.catching(e);
    } catch (NamingException e) {
        logger.catching(e);
    }

它生成的错误是相同的

  

2017-03-20 10:56:56,794 ERROR [com.psoplaneta.auth.web.api.rest.exceptions.handler.CustomRestExceptionHandler](默认任务-17)错误:org.springframewor k.ldap.AuthenticationException: [LDAP:错误代码49 - 80090308:LdapErr:DSID-0C0903AA,注释:AcceptSecurityContext错误,数据525,v1772];嵌套的exception是javax.naming.AuthenticationException:[LDAP:错误代码49 - 80090308:LdapErr:DSID-0C0903AA,注释:AcceptSecurityContext错误,数据525,v1772]

提前致谢

0 个答案:

没有答案