我们上节已经说了如何使用redis来存储ticket,当然cas提供的方式有好多种,比如我们这节要将的jpa方式,其实如果是针对于需要持久化的ticket就可以使用这种方式。下面我们就说一下如何使用jpa来存储ticket。
- 首先第一步还是引入相应的依赖
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-jpa-ticket-registry</artifactId>
<version>${cas.version}</version>
</dependency>
- 然后去阅读jpa的配置ticket,如下图所示
3.我们根据自己的需求去配置基本的参数,如下所示
cas.ticket.registry.jpa.url=jdbc:mysql://localhost:3306/oauth?useSSL=false
cas.ticket.registry.jpa.failFast=true
#cas.ticket.registry.jpa.dialect=org.hibernate.dialect.MySQL5Dialect
cas.ticket.registry.jpa.dialect=org.hibernate.dialect.MySQL57InnoDBDialect
cas.ticket.registry.jpa.leakThreshold=10
cas.ticket.registry.jpa.jpaLockingTgtEnabled=false
cas.ticket.registry.jpa.batchSize=1
cas.ticket.registry.jpa.defaultSchema=oauth
cas.ticket.registry.jpa.user=root
cas.ticket.registry.jpa.ddlAuto=update
cas.ticket.registry.jpa.password=root
cas.ticket.registry.jpa.autocommit=true
# cas.ticket.registry.jpa.driverClass=com.mysql.cj.jdbc.Driver
cas.ticket.registry.jpa.driverClass=com.mysql.jdbc.Driver
cas.ticket.registry.jpa.idleTimeout=5000
4.配置完成后可以,启动项目,会发现我们的数据库生成了以下几个表,记住如果之前已经存在某些表的时候,他是不会在生成的。
5.然后我们在进行登录的时候发现我们的ticketgrantingticket表里面有了我们的tgt,如图所示
到此为止我们的cas使用jpa存储ticket的也已经完成了,接下来之后我们会讲一下如何进行cas的集群部署。
参考文档:
https://apereo.github.io/cas/5.1.x/installation/JPA-Ticket-Registry.html