CAS4.0 4.1 服务器端搭建(二)

CAS Audit日志数据库持久化配置

CAS的Audit日志默认是使用slf4j记录到cas_audit.log的。这里记录一下配置到mysql数据库保存。4.1以前需要自己配置数据库连接池,4.1+自带c3p0。我使用的是CAS 4.1.6,替换了默认的c3p0连接池。

1. 配置cas.properties,加入数据源

cas.audit.database.dialect=MySQLInnoDBDialect
cas.audit.database.batchSize=30
cas.audit.database.ddl.auto=update
cas.audit.database.gen.ddl=update
cas.audit.database.show.sql=true
#以下部分可以和jdbc认证数据源共享
cas.audit.database.driverClass=com.mysql.jdbc.Driver
cas.audit.database.url=jdbc:mysql://127.0.0.1:3306/cas?useUnicode=true&characterEncoding=UTF-8
cas.audit.database.user=xxxxx
cas.audit.database.password=xxxxx
cas.audit.database.pool.minSize=2
cas.audit.database.pool.maxSize=15
cas.audit.database.pool.maxIdleTime=180
cas.audit.database.pool.maxWait=300000

applicationContext.xml中加入

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="driverClassName" value="${cas.audit.database.driverClass}"/>
        <property name="url" value="${cas.audit.database.url}"/>
        <property name="username" value="${cas.audit.database.user}"/>
        <property name="password" value="${cas.audit.database.password}"/>
        <property name="minIdle" value="${cas.audit.database.pool.minSize}"/>
        <property name="maxActive" value="${cas.audit.database.pool.maxSize}"/>
        <property name="validationQuery" value="${cas.audit.database.pool.connectionHealthQuery}"/>
        <property name="testWhileIdle" value="true"/>
        <property name="timeBetweenEvictionRunsMillis" value="1800"/>
        <property name="filters" value="stat, wall"/>
        <property name="testOnBorrow" value="false"/>
        <property name="testOnReturn" value="false"/>
        <!-- poolPreparedStatements 只支持oracle和mysql 5.5+ -->
        <property name="poolPreparedStatements" value="true"/>
        <property name="maxOpenPreparedStatements" value="150"/>
    </bean>

2. deployerConfigContext.xml中查询auditTrailManager bean,修改为:

注意:

4.0 com.github.inspektr.audit.support.JdbcAuditTrailManager

4.1+ org.jasig.inspektr.audit.support.JdbcAuditTrailManager

 <bean id="auditTrailManager" class="org.jasig.inspektr.audit.support.JdbcAuditTrailManager"
          c:transactionTemplate-ref="transactionTemplate"
          p:dataSource-ref="dataSource"/>
    <bean id="transactionTemplate" class="org.springframework.transaction.support.TransactionTemplate"
          c:transactionManager-ref="transactionManger"
          p:isolationLevelName="ISOLATION_READ_COMMITTED"
          p:propagationBehaviorName="PROPAGATION_REQUIRED"/>
    <bean id="transactionManger" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"
          p:dataSource-ref="dataSource"/>

3. 数据库建一个审计日志表:

CREATE TABLE `COM_AUDIT_TRAIL` (
  `AUD_USER` varchar(100) NOT NULL,
  `AUD_CLIENT_IP` varchar(15) NOT NULL,
  `AUD_SERVER_IP` varchar(15) NOT NULL,
  `AUD_RESOURCE` varchar(100) NOT NULL,
  `AUD_ACTION` varchar(100) NOT NULL,
  `APPLIC_CD` varchar(5) NOT NULL,
  `AUD_DATE` datetime NOT NULL,
  KEY `COM_AUDIT_TRAIL_DATE_I` (`AUD_DATE`) USING BTREE,
  KEY `COM_AUDIT_TRAIL_CLIENT_DATE_I` (`AUD_CLIENT_IP`,`AUD_DATE`) USING BTREE,
  KEY `COM_AUDIT_TRAIL_USER_DATE_I` (`AUD_USER`,`AUD_DATE`) USING BTREE,
  KEY `COM_AUDIT_TRAIL_ACTION_DATE_I` (`AUD_ACTION`,`AUD_DATE`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

配置完成,上线后,登录就可以在数据库中看到审计日志了。
下一次会记录cas 的负载均衡。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值