1. 在cas-overlay-template的pom里面增加对cas-server-support-audit-jdbc的依赖
org.apereo.cas
cas-server-support-audit-jdbc
${cas.version}
runtime
2. application.properties里面增加下面的配置
# CAS audit functiong
#默认180天清理一次数据
cas.audit.jdbc.maxAgeDays=180
#数据库为mysql
cas.audit.jdbc.dialect=org.hibernate.dialect.MySQLDialect
cas.audit.jdbc.driverClass=com.mysql.jdbc.Driver
cas.audit.jdbc.url=jdbc:mysql://192.168.1.**:3306/boot-security?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true
cas.audit.jdbc.user=root
cas.audit.jdbc.password=**
#默认是create-drop,如果不改成update,你会发现,每次启动后表都被删除了
cas.audit.jdbc.ddlAuto=update
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
)
表记录说明:访问登录页,登录事件都会记录到数据库,打开登录页,记录的AUD_USER是audit:unknown,AUD_ACTION是AUTHENTICATION_EVENT_TRIGGERED
登录不管成功还是失败都会生成一条AUD_ACTION=AUTHENTICATION_SUCCESS的记录
如果登录成功,还会生成AUD_ACTION=TICKET_GRANTING_TICKET_CREATED创建的记录,
注销会生成AUD_ACTION=TICKET_GRANTING_TICKET_DESTROYED的记录。