spring-security 嵌入式LDAP服务器的URL是什么

pes8fvy9  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(153)

我需要使用嵌入式服务器

<security:authentication-manager>   
    <security:ldap-authentication-provider  
                user-search-filter="(uid={0})" 
                user-search-base="ou=users"
                group-search-filter="(uniqueMember={0})"
                group-search-base="ou=groups"
                group-role-attribute="cn"
                role-prefix="ROLE_">
    </security:ldap-authentication-provider>
</security:authentication-manager>

<security:ldap-server ldif="classpath:mojo_working.ldif" root="dc=example,dc=com"  />

用于自定义填充器。
其同类

<bean id="ldapAuthProvider" class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
    <constructor-arg ref="authenticator"/>
    <constructor-arg ref="populator"/>
</bean> 

<bean id="authenticator" class="org.springframework.security.ldap.authentication.BindAuthenticator">
    <constructor-arg ref="contextSource"/>
    <property name="userDnPatterns">
        <list>
            <value>uid={0},ou=users</value>
        </list>
    </property>
</bean>

在本例中,什么可以是嵌入式LDAP服务器的contextSource。

rqqzpn5f

rqqzpn5f1#

ldap-server元素创建了一个ContextSource,所以你不需要定义一个,它支持一个id属性,你可以用它来创建一个对bean的引用。

<security:ldap-server id="embeddedServer" ... />

<bean id="authenticator" class="org.springframework.security.ldap.authentication.BindAuthenticator">
    <constructor-arg ref="embeddedServer"/>
    ...
</bean>

所以通常你不需要URL。它也有一个port元素(默认值为33389),你可以设置它。URL应该是ldap://localhost:33389/dc=example,dc=com,除非你设置了一个不同的端口。

相关问题