1. 程式人生 > >基於CAS的單點登入SSO[3]: 改造cas-overlays-template支援Redis儲存Ticket

基於CAS的單點登入SSO[3]: 改造cas-overlays-template支援Redis儲存Ticket

基於CAS的單點登入SSO[3]: 改造cas-overlays-template支援Redis儲存Ticket 作者:家輝,日期:2017-08-20 CSDN部落格: http://blog.csdn.net/gobitan
摘要:預設CAS將Ticket存放在記憶體中的,在實際應用過程中通常需要存放在類似Redis之類的資料庫中。本文介紹瞭如何配置讓CAS支援將Ticket存放到Redis資料庫中。
第一步:開啟cas對redis的支援 在pom.xml中加入對cas-redis模組的依賴,參考: https://apereo.github.io/cas/5.1.x/installation/Redis-Ticket-Registry.html
<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-redis-ticket-registry</artifactId>
<version>${cas.version}</version>
</dependency>

第二步:配置redis 注意:這一步之前,需要先在本機安裝redis伺服器,且預設不配置密碼。 在application.properties中增加redis的配置,參考:
https://apereo.github.io/cas/5.1.x/installation/Configuration-Properties.html#redis-ticket-regisry
## Redis server host.
cas.ticket.registry.redis.host=localhost
#
## Database index used by the connection factory.
cas.ticket.registry.redis.database=0
#
## Redis server port.
cas.ticket.registry.redis.port=6379

第三步:執行cas server
sudo ./build.sh  
登入前檢查redis裡是否儲存有CAS的key
dmacpro:config dennis$ redis-cli
127.0.0.1:6379> keys CAS*
(empty list or set)
然後訪問 https:// cas.example.org :8443/cas/login,並輸入前面的賬戶登入。登入後redis裡新增了TGT,如下所示:
127.0.0.1:6379> keys CAS*
1) "CAS_TICKET:TGT-1-CSpbCFkGKdEIlWgqVAbfrO2bzBJ59oRModw6vKac0vfWcFm6vj-dmacpro"

參考資料: [1]  https://apereo.github.io/cas/5.1.x/index.html