CAS 학습용 인증 확장 OpenLDAP(2)

2374 단어 casopenLdap
이전 글에서 간단한 인증 방식을 확장했고 비밀번호는 사용자 이름으로 시작해야 했다.이전 프로젝트에서는 단일 로그인의 통합 인증 소스로 LDAP를 자주 사용했는데, 이를 위해 LDAP의 인증 방식을 확장하려고 합니다.프로젝트에서 자주 사용하는 LDAP 서버는 SunOne LDAP, Oracle Internet Directory, Oracle Directory Server Enterprise Edition 및 Oracle Unified Directory입니다.이것들은 모두 상업화된 LDAP 제품들이고 이미 비교적 익숙하다. OpenLDAP를 시험해 보고 싶어서 OpenLDAP 서버를 구축했다.
먼저 다음 소프트웨어를 준비합니다.
OpenLDAP:http://sourceforge.jp/projects/sfnet_openldapwindows/releases/
Ldapbrowser:http://www.ldapbrowser.com
그 다음에 OpenLDAP 서버를 구축하고 설정하면 인터넷에서 자료를 쉽게 찾을 수 있습니다. 여기는 말하지 않겠습니다.
셋째, 본론으로 들어갑니다.cas/WEB-INF/lib/deployerConfigContext.xml에서 beans를 찾았습니다. 추가 설정은 다음과 같습니다.
<bean id="contextSource" class="org.springframework.ldap.core.support.LdapContextSource">
    <property name="anonymousReadOnly" value="false" />
    <property name="pooled" value="true" />
    <property name="urls">
        <list>
            <value>ldap://localhost:389</value>
        </list>
    </property>
    <property name="userDn" value="CN=manager,dc=my-domain,dc=com" />
    <property name="password" value="secret" />
    <property name="baseEnvironmentProperties">
        <map>
            <!-- LDAP SSL 
            <entry key="java.naming.security.protocol" value="ssl" />
                -->
            <entry key="java.naming.security.authentication" value="simple" />
        </map>
    </property>
</bean>

넷째, cas/WEB-INF/lib/deployerConfigContext.xml에서 authenticationHandlers를 찾아 다음 내용을 추가합니다.
<bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler">
                    <property name="filter" value="uid=%u" />
                    <property name="searchBase" value="ou=people,dc=my-domain,dc=com" />
                    <property name="contextSource" ref="contextSource" />
                    <!--  -->
                    <property name="allowMultipleAccounts" value="true" />
                </bean>

마지막으로 CAS 서버를 다시 시작합니다.이 때 OpenLDAP의 사용자와 비밀번호를 사용하여 CAS 서버에 로그인할 수 있습니다.

좋은 웹페이지 즐겨찾기