복붙노트

[SPRING] Spring Ldap 인증 사용 방법

SPRING

Spring Ldap 인증 사용 방법

현재 프로젝트에서는 LDAP 인증을 구현해야합니다. JSF 2.2, primefaces 및 Spring 4.0과 spring-ldap-core 1.3.2 및 spring-security-ldap-3.2.0을 사용하고 있습니다. 아래는 지금까지 달성 한 작업입니다.

Spring-Ldap.xml

<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
 <property name="url" value="ldap://mumcXXXXXXX" />
 <property name="base" value="dc=ad,dc=XXX,dc=com"/>
 <property name="userDn" value="XXXX@ad.XXX.com" />
 <property name="password" value="XXXX" />
 </bean>

 <bean id="ldapTemplate" class="org.springframework.ldap.core.LdapTemplate">
    <constructor-arg ref="contextSource" />
</bean>

<bean id="ldapContact"
    class="com.csap.research.LDAPContactDAO">
    <property name="ldapTemplate" ref="ldapTemplate" />
</bean>

내 LdapContactDao

public boolean login(String username, String password) {
        AndFilter filter = new AndFilter();
        ldapTemplate.setIgnorePartialResultException(true); 
        filter.and(new EqualsFilter("userPrincipalName", username+"@ad.cXXX.com"));
        return ldapTemplate.authenticate("", filter.toString(), password);
}

여기서 사용자 이름과 비밀번호는 로그인 화면에서 입력됩니다. 내 문제는 매우 하드 코딩 된 것입니다. Spring-Ldap.xml에서 사용자 이름과 암호를 하드 코드하고 싶지 않습니다. Spring LdapAuthentication과 Load를 로컬 데이터베이스에서로드 할 것을 제안했지만 이해할 수 없었습니다.

내 질문은 스프링과 corse JSF를 사용하여 Ldap의 동적 통합을 달성 할 수있는 방법이었습니다. 프런트 엔드 컨트롤러로 사용하고 있습니다. 어떤 도움이라도 좋을 것입니다.

해결법

  1. ==============================

    1.나는이 기사가 봄 보안으로 로그인 폼을 설정하는데 도움이된다는 것을 알았지 만 jsf를 사용하지 않는다.

    나는이 기사가 봄 보안으로 로그인 폼을 설정하는데 도움이된다는 것을 알았지 만 jsf를 사용하지 않는다.

    http://www.mkyong.com/spring-security/spring-security-hello-world-example/ http://www.mkyong.com/spring-security/spring-security-form-login-example/

    이 문서는 ldap을 인증 공급자로 사용하는 데 유용하며 ldapTemplate을 사용하지는 않지만 스프링 보안 구성 (article에서 spring-security.xml)을 사용합니다.

    http://krams915.blogspot.com/2011/01/spring-security-mvc-using-ldap.html

  2. from https://stackoverflow.com/questions/21555280/how-to-use-spring-ldap-authentication by cc-by-sa and MIT license