cas4.2.7数据库配置,读取用户信息

配置文件代码

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" />
        <!-- 默认配置文件用户认证方式,可屏蔽 -->
        <entry key-ref="primaryAuthenticationHandler" value-ref="primaryPrincipalResolver" />
        <!-- 添加数据库认证 -->
        <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" />

    <!--数据库连接池配置-->
    <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中添加数据库认证
<!-- 添加数据库认证 -->
<entry key-ref="databaseAuthenticationHandler" value-ref="primaryPrincipalResolver" />
  • 配置queryDatabaseAuthenticationHandler别名
<!-- 配置queryDatabaseAuthenticationHandler别名 -->
<alias name="queryDatabaseAuthenticationHandler" alias="databaseAuthenticationHandler" />
  • 添加数据库配置
<!--数据库连接池配置-->
<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}" />
  • 设置数据库bean别名
<!-- 配置dataSource别名 -->
<alias name="dataSource" alias="queryDatabaseDataSource" />
  • 设置数据库密码加密算法
<alias name="defaultPasswordEncoder" alias="passwordEncoder" />

cas.properties

有关代码

#根据登录名查询数据库
cas.jdbc.authn.query.sql=select password from cs_user where login_name=?

#设置加密算法
cas.authn.password.encoding.alg=SHA1

#设置数据库配置
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

说明

  • 依次添加数据库查询sql,加密算法,数据库配置

主目录下build.gradle

添加代码

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

说明

  • 添加oracle的jar包,以及jdbc依赖工程
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容