天天看點

基于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

繼續閱讀