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

来源:互联网 发布:舜德数据怎么样 编辑:程序博客网 时间:2024/05/16 18:03

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=MySQLInnoDBDialectcas.audit.database.batchSize=30cas.audit.database.ddl.auto=updatecas.audit.database.gen.ddl=updatecas.audit.database.show.sql=true#以下部分可以和jdbc认证数据源共享cas.audit.database.driverClass=com.mysql.jdbc.Drivercas.audit.database.url=jdbc:mysql://127.0.0.1:3306/cas?useUnicode=true&characterEncoding=UTF-8cas.audit.database.user=xxxxxcas.audit.database.password=xxxxxcas.audit.database.pool.minSize=2cas.audit.database.pool.maxSize=15cas.audit.database.pool.maxIdleTime=180cas.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
原创粉丝点击