cas4.2.7數(shù)據(jù)庫配置,讀取用戶信息

配置文件代碼

deployerConfigContext.xml

代碼

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:p="http://www.springframework.org/schema/p"
       xmlns:c="http://www.springframework.org/schema/c"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx"
       xmlns:util="http://www.springframework.org/schema/util"
       xmlns:sec="http://www.springframework.org/schema/security"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
       http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
       http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd
       http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd">

    <util:map id="authenticationHandlersResolvers">
        <entry key-ref="proxyAuthenticationHandler" value-ref="proxyPrincipalResolver" />
        <!-- 默認(rèn)配置文件用戶認(rèn)證方式,可屏蔽 -->
        <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />
        <!-- 添加數(shù)據(jù)庫認(rèn)證 -->
        <entry key-ref="databaseAuthenticationHandler" value-ref="primaryPrincipalResolver" />
    </util:map>

    <util:list id="authenticationMetadataPopulators">
        <ref bean="successfulHandlerMetaDataPopulator" />
        <ref bean="rememberMeAuthenticationMetaDataPopulator" />
    </util:list>

    <bean id="attributeRepository" class="org.jasig.services.persondir.support.NamedStubPersonAttributeDao"
          p:backingMap-ref="attrRepoBackingMap" />
    <util:map id="attrRepoBackingMap">
        <entry key="uid" value="uid" />
        <entry key="eduPersonAffiliation" value="eduPersonAffiliation" />
        <entry key="groupMembership" value="groupMembership" />
        <entry>
            <key><value>memberOf</value></key>
            <list>
                <value>faculty</value>
                <value>staff</value>
                <value>org</value>
            </list>
        </entry>
    </util:map>

    <alias name="acceptUsersAuthenticationHandler" alias="primaryAuthenticationHandler" />
    <alias name="personDirectoryPrincipalResolver" alias="primaryPrincipalResolver" />

    <!-- 配置queryDatabaseAuthenticationHandler別名 -->
    <alias name="queryDatabaseAuthenticationHandler" alias="databaseAuthenticationHandler" />
    <!-- 配置dataSource別名 -->
    <alias name="dataSource" alias="queryDatabaseDataSource" />

    <!--數(shù)據(jù)庫連接池配置-->
    <bean id="dataSource"
          class="com.mchange.v2.c3p0.ComboPooledDataSource"
          p:driverClass="${cas.audit.database.driverClass}"
          p:jdbcUrl="${cas.audit.database.url}"
          p:user="${cas.audit.database.user}"
          p:password="${cas.audit.database.password}"
          p:initialPoolSize="${cas.audit.database.pool.minSize}"
          p:minPoolSize="${cas.audit.database.pool.minSize}"
          p:maxPoolSize="${cas.audit.database.pool.maxSize}"
          p:maxIdleTimeExcessConnections="${cas.audit.database.pool.maxIdleTime}"
          p:checkoutTimeout="${cas.audit.database.pool.maxWait}"
          p:acquireIncrement="${cas.audit.database.pool.acquireIncrement}"
          p:acquireRetryAttempts="${cas.audit.database.pool.acquireRetryAttempts}"
          p:acquireRetryDelay="${cas.audit.database.pool.acquireRetryDelay}"
          p:idleConnectionTestPeriod="${cas.audit.database.pool.idleConnectionTestPeriod}"
          p:preferredTestQuery="${cas.audit.database.pool.connectionHealthQuery}" />

    <alias name="defaultPasswordEncoder" alias="passwordEncoder" />




    <alias name="serviceThemeResolver" alias="themeResolver" />

    <alias name="jsonServiceRegistryDao" alias="serviceRegistryDao" />
    <!--<alias name="databaseServiceRegistryDao" alias="serviceRegistryDao" />-->

    <alias name="defaultTicketRegistry" alias="ticketRegistry" />
    
    <alias name="ticketGrantingTicketExpirationPolicy" alias="grantingTicketExpirationPolicy" />
    <alias name="multiTimeUseOrTimeoutExpirationPolicy" alias="serviceTicketExpirationPolicy" />

    <alias name="anyAuthenticationPolicy" alias="authenticationPolicy" />
    <alias name="acceptAnyAuthenticationPolicyFactory" alias="authenticationPolicyFactory" />

    <bean id="auditTrailManager"
          class="org.jasig.inspektr.audit.support.Slf4jLoggingAuditTrailManager"
          p:entrySeparator="${cas.audit.singleline.separator:|}"
          p:useSingleLine="${cas.audit.singleline:false}"/>

    <alias name="neverThrottle" alias="authenticationThrottle" />

    <util:list id="monitorsList">
        <ref bean="memoryMonitor" />
        <ref bean="sessionMonitor" />
    </util:list>

    <alias name="defaultPrincipalFactory" alias="principalFactory" />
    <alias name="defaultAuthenticationTransactionManager" alias="authenticationTransactionManager" />
    <alias name="defaultPrincipalElectionStrategy" alias="principalElectionStrategy" />
    <alias name="tgcCipherExecutor" alias="defaultCookieCipherExecutor" />
</beans>

說明

  • authenticationHandlersResolvers中添加數(shù)據(jù)庫認(rèn)證
<!-- 添加數(shù)據(jù)庫認(rèn)證 -->
<entry key-ref="databaseAuthenticationHandler" value-ref="primaryPrincipalResolver" />
  • 配置queryDatabaseAuthenticationHandler別名
<!-- 配置queryDatabaseAuthenticationHandler別名 -->
<alias name="queryDatabaseAuthenticationHandler" alias="databaseAuthenticationHandler" />
  • 添加數(shù)據(jù)庫配置
<!--數(shù)據(jù)庫連接池配置-->
<bean id="dataSource"
      class="com.mchange.v2.c3p0.ComboPooledDataSource"
      p:driverClass="${cas.audit.database.driverClass}"
      p:jdbcUrl="${cas.audit.database.url}"
      p:user="${cas.audit.database.user}"
      p:password="${cas.audit.database.password}"
      p:initialPoolSize="${cas.audit.database.pool.minSize}"
      p:minPoolSize="${cas.audit.database.pool.minSize}"
      p:maxPoolSize="${cas.audit.database.pool.maxSize}"
      p:maxIdleTimeExcessConnections="${cas.audit.database.pool.maxIdleTime}"
      p:checkoutTimeout="${cas.audit.database.pool.maxWait}"
      p:acquireIncrement="${cas.audit.database.pool.acquireIncrement}"
      p:acquireRetryAttempts="${cas.audit.database.pool.acquireRetryAttempts}"
      p:acquireRetryDelay="${cas.audit.database.pool.acquireRetryDelay}"
      p:idleConnectionTestPeriod="${cas.audit.database.pool.idleConnectionTestPeriod}"
      p:preferredTestQuery="${cas.audit.database.pool.connectionHealthQuery}" />
  • 設(shè)置數(shù)據(jù)庫bean別名
<!-- 配置dataSource別名 -->
<alias name="dataSource" alias="queryDatabaseDataSource" />
  • 設(shè)置數(shù)據(jù)庫密碼加密算法
<alias name="defaultPasswordEncoder" alias="passwordEncoder" />

cas.properties

有關(guān)代碼

#根據(jù)登錄名查詢數(shù)據(jù)庫
cas.jdbc.authn.query.sql=select password from cs_user where login_name=?

#設(shè)置加密算法
cas.authn.password.encoding.alg=SHA1

#設(shè)置數(shù)據(jù)庫配置
cas.audit.database.dialect=org.hibernate.dialect.Oracle10gDialect
#cas.audit.database.batchSize=
#cas.audit.database.ddl.auto=
#cas.audit.database.gen.ddl=
cas.audit.database.show.sql=true
cas.audit.database.driverClass=oracle.jdbc.driver.OracleDriver
cas.audit.database.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
cas.audit.database.user=WDIM
cas.audit.database.password=WDIM
cas.audit.database.pool.minSize=6
cas.audit.database.pool.maxSize=18
cas.audit.database.pool.maxIdleTime=120
cas.audit.database.pool.maxWait=10000
cas.audit.database.pool.acquireIncrement=6
cas.audit.database.pool.acquireRetryAttempts=5
cas.audit.database.pool.acquireRetryDelay=2000
cas.audit.database.pool.idleConnectionTestPeriod=30
cas.audit.database.pool.connectionHealthQuery=select 1

說明

  • 依次添加數(shù)據(jù)庫查詢sql,加密算法,數(shù)據(jù)庫配置

主目錄下build.gradle

添加代碼

compile group: 'com.oracle', name: 'ojdbc6', version: '12.1.0.1-atlassian-hosted'
compile project(':cas-server-support-jdbc')

說明

  • 添加oracle的jar包,以及jdbc依賴工程
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,598評(píng)論 19 139
  • Parkour跑酷 這個(gè)名詞對(duì)于許多人而言, 恐怕是既陌生又熟悉的存在。 陌生, 因?yàn)槲覀儗?duì)于這個(gè)領(lǐng)域一無所知;熟...
    背包十年beibao10閱讀 298評(píng)論 0 0
  • 常言道“師傅領(lǐng)進(jìn)門,修行在個(gè)人”這個(gè)話在于我們用進(jìn)入一個(gè)行業(yè),有師傅代領(lǐng)教導(dǎo),但是未來能走多長多遠(yuǎn)就得看自己的造化...
    小純說閱讀 379評(píng)論 3 12
  • 時(shí)光太久只爭朝夕願(yuàn)安然無恙 「默然然然寫的信」「三行情書」
    漠然然然閱讀 135評(píng)論 0 0

友情鏈接更多精彩內(nèi)容