一、数据库配置

        1.复杂数据库驱动jar文件到cas服务端网站的lib目录下

        2.修改CasServer/WEB-INF/deployerConfigContext.xml文件:

            

单点登录JA-SIG研究分析_客户端<!-- 注释掉如下代码-->

单点登录JA-SIG研究分析_客户端<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />


        替换成:

        


单点登录JA-SIG研究分析_客户端                <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">

单点登录JA-SIG研究分析_客户端                    <property name="sql" value="select PASSWORD_ from ID_USER where NAME_=?"/>

单点登录JA-SIG研究分析_客户端                    <property name="passwordEncoder" ref="passwordEncoder"/>

单点登录JA-SIG研究分析_客户端                    <property name="dataSource" ref="dataSource"/>

单点登录JA-SIG研究分析_客户端                </bean>


        在文件末尾加入:


单点登录JA-SIG研究分析_客户端<!-- 数据源定义 -->

单点登录JA-SIG研究分析_客户端    <bean id="dataSource"

单点登录JA-SIG研究分析_客户端        class="org.springframework.jdbc.datasource.DriverManagerDataSource">

单点登录JA-SIG研究分析_客户端        <property name="driverClassName" value="${db.driver}" />

单点登录JA-SIG研究分析_客户端        <property name="url" value="${db.url}" />

单点登录JA-SIG研究分析_客户端        <property name="username" value="${db.username}" />

单点登录JA-SIG研究分析_客户端        <property name="password" value="${db.password}" />

单点登录JA-SIG研究分析_客户端    </bean>

单点登录JA-SIG研究分析_客户端    <bean id="passwordEncoder"

单点登录JA-SIG研究分析_客户端        class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder"

单点登录JA-SIG研究分析_客户端        autowire="byName">

单点登录JA-SIG研究分析_客户端        <constructor-arg value="MD5" />

单点登录JA-SIG研究分析_客户端    </bean>


        在CasServer/WEB-INF/cas.properties文件中添加:


单点登录JA-SIG研究分析_客户端database.hibernate.dialect=org.hibernate.dialect.OracleDialect

单点登录JA-SIG研究分析_客户端#database.hibernate.dialect=org.hibernate.dialect.MySQLDialect

单点登录JA-SIG研究分析_客户端#database.hibernate.dialect=org.hibernate.dialect.HSQLDialect

单点登录JA-SIG研究分析_客户端db.driver=oracle.jdbc.driver.OracleDriver

单点登录JA-SIG研究分析_客户端db.url=jdbc/:oracle/:thin/:@localhost/:1521/:master

单点登录JA-SIG研究分析_客户端db.username=casusername

单点登录JA-SIG研究分析_客户端db.password=caspwd


     二、LDAP配置

            1.复杂cas-server-support-ldap-3.2.jar文件到cas服务端网站的lib目录下

            2.修改CasServer/WEB-INF/deployerConfigContext.xml文件:

            


单点登录JA-SIG研究分析_客户端<!-- 注释掉如下代码-->

单点登录JA-SIG研究分析_客户端<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />


 

        替换成:(注意:位置)


单点登录JA-SIG研究分析_客户端<bean

单点登录JA-SIG研究分析_客户端                    class="com.jihong.cas.adaptors.ldap.BindLdapAuthenticationHandler">

单点登录JA-SIG研究分析_客户端                    <property name="filter" value="uid=%u" />

单点登录JA-SIG研究分析_客户端                    <!-- 基节点 -->

单点登录JA-SIG研究分析_客户端                    <property name="searchBase"

单点登录JA-SIG研究分析_客户端                        value="OU=单位,O=TJJU" />

单点登录JA-SIG研究分析_客户端                    <property name="contextSource" ref="contextSource" />

单点登录JA-SIG研究分析_客户端                </bean>


在文件末尾加入:


单点登录JA-SIG研究分析_客户端<bean id="contextSource"

单点登录JA-SIG研究分析_客户端        class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource">

单点登录JA-SIG研究分析_客户端        <property name="password" value="secret" />

单点登录JA-SIG研究分析_客户端        <property name="pooled" value="true" />

单点登录JA-SIG研究分析_客户端        <property name="urls">

单点登录JA-SIG研究分析_客户端            <list>

单点登录JA-SIG研究分析_客户端                <value>ldap://192.168.0.1:389/</value>

单点登录JA-SIG研究分析_客户端            </list>

单点登录JA-SIG研究分析_客户端        </property>

单点登录JA-SIG研究分析_客户端        <!-- property name="userName" value="uid=admin,O=TJJU" /-->

单点登录JA-SIG研究分析_客户端        <property name="baseEnvironmentProperties">

单点登录JA-SIG研究分析_客户端            <map>

单点登录JA-SIG研究分析_客户端                <entry>

单点登录JA-SIG研究分析_客户端                    <key>

单点登录JA-SIG研究分析_客户端                        <value>

单点登录JA-SIG研究分析_客户端                            java.naming.security.authentication

单点登录JA-SIG研究分析_客户端                        </value>

单点登录JA-SIG研究分析_客户端                    </key>

单点登录JA-SIG研究分析_客户端                    <value>simple</value>

单点登录JA-SIG研究分析_客户端                </entry>

单点登录JA-SIG研究分析_客户端            </map>

单点登录JA-SIG研究分析_客户端        </property>

单点登录JA-SIG研究分析_客户端    </bean>


     三、分析deployerConfigContext.xml的其他配置

         1.客户端登陆服务配置:每加入一个客户端网站都需修改这个配置。   


单点登录JA-SIG研究分析_客户端<bean id="serviceRegistryDao"

单点登录JA-SIG研究分析_客户端        class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl" />


        例如:


单点登录JA-SIG研究分析_客户端<bean id="serviceRegistryDao"

单点登录JA-SIG研究分析_客户端        class="org.jasig.cas.services.InMemoryServiceRegistryDaoImpl">

单点登录JA-SIG研究分析_客户端        <!-- 注册客户端 -->

单点登录JA-SIG研究分析_客户端        <property name="registeredServices">

单点登录JA-SIG研究分析_客户端            <list>

单点登录JA-SIG研究分析_客户端            <!-- 一个客户端配置 -->

单点登录JA-SIG研究分析_客户端                <bean

单点登录JA-SIG研究分析_客户端                    class="org.jasig.cas.services.RegisteredServiceImpl" 

单点登录JA-SIG研究分析_客户端                    p:id="1"

单点登录JA-SIG研究分析_客户端                    p:description="Tout Nancy 2" 

单点登录JA-SIG研究分析_客户端                    p:serviceId="*://localhost:8080/**"

单点登录JA-SIG研究分析_客户端                    p:name="Tout Nancy 2" 

单点登录JA-SIG研究分析_客户端                    p:theme="nancy2" 

单点登录JA-SIG研究分析_客户端                    p:allowedToProxy="true"

单点登录JA-SIG研究分析_客户端                    p:enabled="true" 

单点登录JA-SIG研究分析_客户端                    p:ssoEnabled="true" 

单点登录JA-SIG研究分析_客户端                    p:anonymousAccess="false">

单点登录JA-SIG研究分析_客户端                    <!-- 允许的属性 -->

单点登录JA-SIG研究分析_客户端                    <property name="allowedAttributes" value="Name,telephoneNumber,fullName,mail,eduPersonAffiliation,groupMembership"/>

单点登录JA-SIG研究分析_客户端                </bean>

单点登录JA-SIG研究分析_客户端            </list>

单点登录JA-SIG研究分析_客户端        </property>

单点登录JA-SIG研究分析_客户端    </bean>


        2.属性注册:从数据库中读取的属性

 


单点登录JA-SIG研究分析_客户端<bean id="attributeRepository"

单点登录JA-SIG研究分析_客户端        class="org.jasig.services.persondir.support.StubPersonAttributeDao">

单点登录JA-SIG研究分析_客户端        <property name="backingMap">

单点登录JA-SIG研究分析_客户端            <map>

单点登录JA-SIG研究分析_客户端                <entry key="uid" value="uid" />

单点登录JA-SIG研究分析_客户端                <entry key="eduPersonAffiliation"

单点登录JA-SIG研究分析_客户端                    value="eduPersonAffiliation" />

单点登录JA-SIG研究分析_客户端                <entry key="groupMembership" value="groupMembership" />

单点登录JA-SIG研究分析_客户端            </map>

单点登录JA-SIG研究分析_客户端        </property>

单点登录JA-SIG研究分析_客户端    </bean>


    例如:从LDAP中读取属性


单点登录JA-SIG研究分析_客户端<bean id="attributeRepository"

单点登录JA-SIG研究分析_客户端        class="com.jihong.services.persondir.support.ldap.LdapPersonAttributeDao">

单点登录JA-SIG研究分析_客户端        <property name="baseDN" value="OU=单位,O=TJJU" />

单点登录JA-SIG研究分析_客户端        <property name="query" value="(uid={0})" />

单点登录JA-SIG研究分析_客户端        <property name="contextSource" ref="contextSource" />

单点登录JA-SIG研究分析_客户端        <property name="ldapAttributesToPortalAttributes">

单点登录JA-SIG研究分析_客户端            <map>

单点登录JA-SIG研究分析_客户端                <entry key="cn" value="Name" />

单点登录JA-SIG研究分析_客户端                <entry value="Telephone" key="telephoneNumber" />

单点登录JA-SIG研究分析_客户端                <entry value="Full Name" key="fullName" />

单点登录JA-SIG研究分析_客户端                <entry value="Email" key="mail" />

单点登录JA-SIG研究分析_客户端                <entry key="eduPersonAffiliation"

单点登录JA-SIG研究分析_客户端                    value="eduPersonAffiliation" />

单点登录JA-SIG研究分析_客户端                <entry key="groupMembership" value="groupMembership" />

单点登录JA-SIG研究分析_客户端            </map>

单点登录JA-SIG研究分析_客户端        </property>

单点登录JA-SIG研究分析_客户端    </bean>