Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring LDAP无法从AD LDS读取_Java_Spring_Active Directory_Ldap_Adlds - Fatal编程技术网

Java Spring LDAP无法从AD LDS读取

Java Spring LDAP无法从AD LDS读取,java,spring,active-directory,ldap,adlds,Java,Spring,Active Directory,Ldap,Adlds,我目前有一个SpringBoot应用程序,它从Active Directory获取员工数据,并将其显示为JSON 但是,我不想直接链接到Active Directory,我想使用Active Directory轻型服务 我假设我可以设置连接并以相同的方式连接,但我一直收到错误49(无效凭据)错误。我使用的凭据与在Active Directory上工作的凭据相同 这是Spring.xml配置凭据: <bean id="contextSource" class="org.springfram

我目前有一个SpringBoot应用程序,它从Active Directory获取员工数据,并将其显示为JSON

但是,我不想直接链接到Active Directory,我想使用Active Directory轻型服务

我假设我可以设置连接并以相同的方式连接,但我一直收到错误49(无效凭据)错误。我使用的凭据与在Active Directory上工作的凭据相同

这是Spring.xml配置凭据:

 <bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
        <property name="url" value="ldap://example.com:389" />
        <property name="base" value=" DC=example,DC=com" />
        <property name="userDn" value="jsmith@example.com" />
        <property name="password" value="password" />
    </bean>

    <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
        <constructor-arg ref="contextSource" />
        <property name="ignorePartialResultException" value="true" />
    </bean>
如果我尝试使用我得到的userDN:

The authentication failed
 - [LDAP: error code 80 - 80090304: LdapErr: DSID-0C0903C4, comment: AcceptSecurityContext error, data 20ee, v295a

您需要像cn一样提供用户的完整DN作为“userDn”=jsmith@example.com,ou=xyz,dc=abc,dc-com。

您需要像cn一样提供用户的完整DN作为“userDn”=jsmith@example.com,ou=xyz,dc=abc,dc-com。

我自己刚刚遇到这个问题,并且能够解决它。我遇到的问题是由于我的AD LDS配置了SASL,所以进行简单绑定不起作用。有关SASL的说明,请参阅LDAPv3认证方法(第6.1节)

我将介绍如何使用ApacheDirectoryStudio设置连接,但我确信Spring文档描述了如何为您的连接配置SASL

在我的测试实验室中,我没有使用TLS进行保护,所以我只能绑定到389

配置身份验证时,您希望选择LDAPv3服务器支持的SASL方法(my AD LDS supported DIGEST-MD5)。输入您的用户凭据和密码(我可以使用屏幕截图中提供的完整DN以及cn)。使用DIGEST-MD5身份验证方法时,还必须在SASL设置下提供SASL领域。这是用于绑定的主体的领域


如果要检查LDAP服务器支持的SASL方法(如AD LDS),可以使用ldp.exe(或Softerra)工具检索和查找支持的LDAP SASL方法。

我自己刚刚遇到这个问题,并且能够解决它。我遇到的问题是由于我的AD LDS配置了SASL,所以进行简单绑定不起作用。有关SASL的说明,请参阅LDAPv3认证方法(第6.1节)

我将介绍如何使用ApacheDirectoryStudio设置连接,但我确信Spring文档描述了如何为您的连接配置SASL

在我的测试实验室中,我没有使用TLS进行保护,所以我只能绑定到389

配置身份验证时,您希望选择LDAPv3服务器支持的SASL方法(my AD LDS supported DIGEST-MD5)。输入您的用户凭据和密码(我可以使用屏幕截图中提供的完整DN以及cn)。使用DIGEST-MD5身份验证方法时,还必须在SASL设置下提供SASL领域。这是用于绑定的主体的领域


如果要检查LDAP服务器支持的SASL方法(如AD LDS),可以使用ldp.exe(或Softerra)工具检索和查找支持的LDAP SASL方法。

是否尝试使用LDAP浏览器(如Apache Directory Studio)连接到AD LDS?是的。它也不允许我进去。但是,如果我使用Softerra的LDAP浏览器,并使用“当前用户”凭据,我可以进入。如果我尝试在Softerra浏览器中手动添加凭据,也会出现问题。请使用完整的错误堆栈更新问题。错误代码49包含相关的子错误代码,如532、533等,以指示错误的具体原因,例如帐户已禁用、密码已过期。好的,我现在已经这样做了。您是否尝试使用LDAP浏览器(如Apache Directory Studio)连接到AD LDS?是的,我尝试过。它也不允许我进去。但是,如果我使用Softerra的LDAP浏览器,并使用“当前用户”凭据,我可以进入。如果我尝试在Softerra浏览器中手动添加凭据,也会出现问题。请使用完整的错误堆栈更新问题。错误代码49有相关的子错误代码,如532、533等,以指示错误的具体原因,例如帐户禁用、密码过期。好的,我现在已经这样做了。
The authentication failed
 - [LDAP: error code 80 - 80090304: LdapErr: DSID-0C0903C4, comment: AcceptSecurityContext error, data 20ee, v295a