精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

手把手教你入門 Spring Boot + CAS 單點登錄

開發 架構
CAS 全稱叫做中央認證服務,英文是 Central Authentication Service。這是由耶魯大學發起的一個開源項目,目的是幫助 Web 應用系統構建一種可靠的單點登錄解決方案,從目前企業實際項目來看,CAS 還是非常受歡迎的一種單點登錄解決方案。

[[408069]]

 1.什么是 CAS

CAS 全稱叫做中央認證服務,英文是 Central Authentication Service。

這是由耶魯大學發起的一個開源項目,目的是幫助 Web 應用系統構建一種可靠的單點登錄解決方案,從目前企業實際項目來看,CAS 還是非常受歡迎的一種單點登錄解決方案。

1.1 CAS 架構

CAS 分為兩部分:

  • 一個是 CAS Server,這是單點驗證服務,作用類似于我們OAuth2+JWT 方案中的授權服務器,用來校驗用戶名/密碼等,一般來說都是獨立部署。
  • 另一個則是 CAS Client,相當于就是一個一個的(微)服務。

我們來看 CAS 的官方給出的一個架構圖:

可以看到,用戶訪問的是 CAS Clients,CAS Clients 和 CAS Server 之間的通信支持多種協議,CAS Server 處理具體的認證事宜,CAS Server 對數據源的支持也非常多樣化。

CAS Client 支持的平臺有:

  • Apache httpd Server (mod_auth_cas module)
  • Java (Java CAS Client)
  • .NET (.NET CAS Client)
  • PHP (phpCAS)
  • Perl (PerlCAS)
  • Python (pycas)
  • Ruby (rubycas-client)

CAS 支持的通信協議有:

  • CAS (versions 1, 2, and 3)
  • SAML 1.1 and 2
  • OpenID Connect
  • OpenID
  • OAuth 2.0
  • WS Federation

從圖中也可以看出 CAS 支持多種不同的認證機制,具體有:

  • JAAS
  • LDAP
  • RDBMS
  • SPNEGO

...

1.2 三個概念

在 CAS 的整個登錄過程中,有三個重要的概念,這里我先來和大家捋一捋。

  • TGT:TGT 全稱叫做 Ticket Granting Ticket,這個相當于我們平時所見到的 HttpSession 的作用,用戶登錄成功后,用戶的基本信息,如用戶名、登錄有效期等信息,都將存儲在此。
  • TGC:TGC 全稱叫做 Ticket Granting Cookie,TGC 以 Cookie 的形式保存在瀏覽器中,根據 TGC 可以幫助用戶找到對應的 TGT,所以這個 TGC 有點類似與會話 ID。
  • ST:ST 全稱是 Service Ticket,這是 CAS Sever 通過 TGT 給用戶發放的一張票據,用戶在訪問其他服務時,發現沒有 Cookie 或者 ST ,那么就會 302 到 CAS Server 獲取 ST,然后會攜帶著 ST 302 回來,CAS Client 則通過 ST 去 CAS Server 上獲取用戶的登錄狀態。

2.CAS 登錄流程

接下來我們通過一張官方給出的流程圖來看下 CAS 登錄過程是什么樣子的!

這張圖其實畫的比較清楚了,我再用文字和大家解釋下:

術語:應用1、應用2 分別表示被保護的應用。

  • 用戶通過瀏覽器訪問應用1,應用1 發現用戶沒有登錄,于是返回 302,并且攜帶上一個 service 參數,讓用戶去 CAS Server 上登錄。
  • 瀏覽器自動重定向到 CAS Server 上,CAS Server 獲取用戶 Cookie 中攜帶的 TGC,去校驗用戶是否已經登錄,如果已經登錄,則完成身份校驗(此時 CAS Server 可以根據用戶的 TGC 找到 TGT,進而獲取用戶的信息);如果未登錄,則重定向到 CAS Server 的登錄頁面,用戶輸入用戶名/密碼,CAS Server 會生成 TGT,并且根據 TGT 簽發一個 ST,再將 TGC 放在用戶的 Cookie 中,完成身份校驗。
  • CAS Server 完成身份校驗之后,會將 ST 拼接在 service 中,返回 302,瀏覽器將首先將 TGC 存在 Cookie 中,然后根據 302 的指示,攜帶上 ST 重定向到應用1。
  • 應用1 收到瀏覽器傳來的 ST 之后,拿去 CAS Server 上校驗,去判斷用戶的登錄狀態,如果用戶登錄合法,CAS Server 就會返回用戶信息給 應用1。
  • 瀏覽器再去訪問應用2,應用2 發現用戶未登錄,重定向到 CAS Server。
  • CAS Server 發現此時用戶實際上已經登錄了,于是又重定向回應用2,同時攜帶上 ST。
  • 應用2 拿著 ST 去 CAS Server 上校驗,獲取用戶的登錄信息。

在整個登錄過程中,瀏覽器分別和 CAS Server、應用1、應用2 建立了會話,其中,和 CAS Server 建立的會話稱之為全局會話,和應用1、應用2 建立的會話稱之為局部會話;一旦局部會話成功建立,以后用戶再去訪問應用1、應用2 就不會經過 CAS Server 了。

3.CAS Server 搭建

說了這么多,來點實際的。

由于整個 CAS 單點登錄做起來還比較麻煩,我們一步一步來,今天我先來教大家把 CAS Server 搭建起來。

3.1 版本選擇

目前最新的 CAS Server 是 6.x,這個是基于 gradle 來構建的,考慮到很多小伙伴可能不熟悉 gradle 操作,因此這里我選擇 5.3 的版本,該版本基于大家熟悉的 maven 來構建。

官方為我們提供了構建 CAS Server 的模版,地址是:https://github.com/apereo/cas-overlay-template。

我們在分支中選擇 5.3 版本下載:

或者直接 clone 下來,然后切換到 5.3 這個分支也可以。這個應該就不用我教大家了吧,相信小伙伴們都能自己搞定。

3.2 HTTPS 證書

CAS Server 從版本 4 開始,要使用 HTTPS 通信,所以我們得提前準備 HTTPS 證書。公司里的項目的話,需要購買 HTTPS 證書,自己玩的話也可以從云服務廠商那里申請到免費的 HTTPS 證書。

現在我們在本地測試,直接利用 JDK 自帶的 keytool 工具,自己生成一個 HTTPS 證書即可。

生成命令如下:

  1. keytool -genkey -alias casserver -keyalg RSA -keystore ./keystore 
  • -alias 表示生成的證書別名
  • -keyalg 表示生成證書使用的算法
  • -keystore 表示生成證書的存放位置

證書在執行的時候,需要給一個密鑰庫口令,這個大家隨意給出即可,但是給出了多少要自己記著。另外,在 What is your first and last name? 選項中,需要填入 CAS Server 的域名,這點切記:

如此之后,我們的 HTTPS 證書就有了,雖然這個證書不被各大廠商認可,但是自己做練習夠用了。

3.3 配置并啟動

接下來進行配置。

我們在下載的 cas-overlay-template 項目中,新建 src/main/resources 目錄,并將 overlays/org.apereo.cas.cas-server-webapp-tomcat-5.3.14/WEB-INF/classes/application.properties 文件和剛剛生成的 keystore 文件拷貝進來:

然后修改 application.properties ,主要配置一下 keystore 的位置和密鑰,如下:

  1. server.ssl.key-store=classpath:keystore 
  2. server.ssl.key-store-password=111111 
  3. server.ssl.key-password=111111 

配置完成后,在項目根目錄下執行如下命令啟動項目:

./build.sh bootrun

根據個人網速,第一次啟動可能會非常漫長,耐心等待即可。

啟動過程中,也可能會報錯,但是不用管,如果看到 ready 圖標,就表示啟動成功了:

3.4 測試

啟動成功后,瀏覽器輸入 https://cas.javaboy.org:8443/cas/login 就可以進入登錄頁面了(注意是 https 哦):

默認的用戶名是 casuser,密碼是 Mellon,輸入用戶名密碼就可以登錄了。

默認的用戶名/密碼也可以在 application.properties 文件中修改,該文件的最后一行:

  1. cas.authn.accept.users=casuser::Mellon 

修改完后,重啟項目即可生效。

4.小結

今天主要和小伙伴聊一下 CAS 的基本概念,然后我們順手搭建一個 CAS Server 出來,感興趣的小伙伴可以動手試一試哦~,下篇文章我們來看如何用 Spring Boot 開發 CAS 客戶端~

本文轉載自微信公眾號「江南一點雨」,可以通過以下二維碼關注。轉載本文請聯系江南一點雨公眾號。

 

責任編輯:武曉燕 來源: 江南一點雨
相關推薦

2020-05-15 08:07:33

JWT登錄單點

2023-03-27 08:28:57

spring代碼,starter

2025-02-19 08:00:00

SpringBootOllamaDeepSeek

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2011-01-10 14:41:26

2021-07-14 09:00:00

JavaFX開發應用

2019-11-12 10:50:13

Spring BootstarterJava

2018-05-16 13:50:30

Python網絡爬蟲Scrapy

2021-02-26 11:54:38

MyBatis 插件接口

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統Linux 系統

2023-04-26 12:46:43

DockerSpringKubernetes

2022-03-14 14:47:21

HarmonyOS操作系統鴻蒙

2022-01-08 20:04:20

攔截系統調用

2022-12-07 08:42:35

2022-07-27 08:16:22

搜索引擎Lucene

2022-06-30 08:13:44

PythonWeb編程語言

2021-07-13 14:05:37

單點登錄頁面

2009-11-09 14:57:37

WCF上傳文件
點贊
收藏

51CTO技術棧公眾號

一区二区三区视频免费视频观看网站| 黄色软件在线| 好看不卡的中文字幕| 精品粉嫩aⅴ一区二区三区四区| 日韩a级在线观看| 欧美视频综合| 精品一区二区在线看| 久久精品一区二区三区四区| 久久久女女女女999久久| 国产精品无码一本二本三本色| av在线天堂| 成人一区二区三区视频 | 久草免费在线观看| 成人免费观看视频| 国产精品人成电影在线观看| 91porn在线视频| 蜜桃一区二区三区| 日韩精品一区二区三区四区| 欧美精品aaaa| 国产黄大片在线观看| 国产精品美女视频| 久久久久综合一区二区三区| 国产毛片一区二区三区va在线| av成人激情| 欧美成人小视频| 日韩黄色中文字幕| 美女扒开腿让男人桶爽久久动漫| 这里只有精品电影| 成年网站在线免费观看| 国产成人手机在线| 美女视频免费一区| 中文字幕日韩在线播放| 中文字幕在线视频播放| 日韩美女在线| 91国产成人在线| 日韩欧美亚洲在线| 污污的视频网站在线观看| 国产精一区二区三区| 国产精品青青在线观看爽香蕉 | 免费的黄网站在线观看| 国产视频一区二区在线观看| 国产欧美欧洲| 黄网站免费在线| youjizz亚洲| 91精品国产综合久久久久久漫画| 国产一线二线三线在线观看| 日韩电影毛片| 亚洲综合偷拍欧美一区色| 伊人久久大香线蕉综合75| jzzjzzjzz亚洲成熟少妇| 久久奇米777| 免费国产一区二区| 三级视频网站在线| 2021国产精品久久精品| 久久久福利视频| 无码国产精品高潮久久99| 成人精品免费看| 国产亚洲精品美女久久久m| 99精品免费观看| 国产精品中文有码| 成人h在线播放| 欧美日韩综合一区二区三区| 一本不卡影院| 青青草国产精品一区二区| 国产精品久免费的黄网站| 香蕉久久夜色精品国产| www.久久久久| 久久福利免费视频| 国产精品久久久久9999赢消| 久久久国产精品免费| 国产chinese中国hdxxxx| 在线天堂新版最新版在线8| 亚洲国产精品成人综合色在线婷婷| 国产欧美在线看| 国产又粗又猛又爽| 亚洲专区一区二区三区| 热草久综合在线| 中文无码av一区二区三区| 久久精品国产免费| 91九色极品视频| 人妻少妇一区二区三区| 国产一区二区调教| 99久久无色码| 日韩一区二区三区中文字幕| 欧美国产日韩a欧美在线观看 | 中文字幕丰满孑伦无码专区| 国产一区日韩| 久久国产色av| 色网站在线播放| 日本aⅴ免费视频一区二区三区| 91九色国产社区在线观看| 欧美一级淫片aaaaaa| 久久久久久久久久久99999| 人人妻人人澡人人爽精品欧美一区| 羞羞的视频在线观看| 欧美色播在线播放| 亚洲一区二区三区观看| 另类ts人妖一区二区三区| 一本色道久久88综合亚洲精品ⅰ | 91色琪琪电影亚洲精品久久| 人人妻人人澡人人爽精品日本| 久久久午夜精品| 超碰10000| 亚洲精品一级二级| 日韩午夜av电影| 国产成人福利在线| 狠狠88综合久久久久综合网| 国产精品欧美一区二区三区奶水| 亚洲精品国产精品国| 国产欧美精品一区aⅴ影院| 天天干天天色天天爽| 日本综合字幕| 欧美mv日韩mv| 四虎永久免费地址| 免费精品视频| 成人免费在线看片| 色网站在线看| 日韩欧美中文第一页| 绯色av蜜臀vs少妇| 欧美午夜在线播放| 色屁屁一区二区| 2025中文字幕| 99精品在线观看| 日韩av电影国产| 日本高清视频免费观看| 亚洲欧美另类综合偷拍| 五月婷婷激情久久| 国产精品免费不| 午夜精品一区二区三区在线视 | 国产乱淫av一区二区三区 | 欧美福利专区| 国产美女高潮久久白浆| 日本免费不卡| 精品久久久久久久久久久久久| a级大片免费看| 精品国产麻豆| www.xxxx精品| 亚洲视频在线免费播放| 久久久高清一区二区三区| 免费一级特黄特色毛片久久看| 视频一区视频二区欧美| 麻豆国产va免费精品高清在线| 中文字幕人妻互换av久久 | 日韩你懂的在线播放| 天天天天天天天天操| 韩国精品一区二区| 亚洲五月六月| 羞羞视频在线观看一区二区| 中文字幕亚洲图片| 91好色先生tv| 一区二区中文视频| 久久6免费视频| 亚洲天天综合| 91视频最新| 国产经典三级在线| 亚洲福利视频二区| 精品欧美一区二区久久久| 嫩草成人www欧美| 欧美另类视频在线| 成人精品电影在线| 亚洲性生活视频在线观看| 欧美性x x x| 激情欧美日韩一区二区| 久久久久亚洲av无码专区喷水| 国产精品3区| 久久久久久久国产精品| 天天操天天操天天| 日本道精品一区二区三区| 国产免费看av| 久久超碰97人人做人人爱| 99久久久无码国产精品性色戒| 欧洲精品99毛片免费高清观看| 欧美激情一区二区久久久| 少妇又色又爽又黄的视频| 黑人巨大精品欧美一区免费视频| 午夜在线观看一区| 精品中文字幕一区二区| 男人的天堂视频在线| 国产精品乱战久久久| 一本一本久久a久久精品牛牛影视| 成人黄色三级视频| 又紧又大又爽精品一区二区| 在线观看免费视频国产| 天堂久久一区二区三区| 影音先锋欧美资源| 9l视频自拍九色9l视频成人| 欧美最近摘花xxxx摘花| 日韩毛片久久久| 精品久久久久久无| www.欧美色| 亚洲精品国产精品乱码不99| 午夜一区二区三区免费| 久久国产精品免费| 青草网在线观看| 欧美日韩中文一区二区| 成人黄色在线免费观看| 日韩av免费| 欧美激情三级免费| av电影在线观看一区二区三区| 午夜视频一区二区| 欧美激情 一区| 成人黄页在线观看| 高清av免费看| 一区二区三区导航| 三年中文高清在线观看第6集| 国产精品毛片av| 成人黄色片在线| 欧美大片免费高清观看| 欧美另类在线观看| 超碰在线国产| 日韩电影中文字幕在线| 国产男女无套免费网站| 色偷偷久久人人79超碰人人澡| 欧美色图亚洲视频| 国产精品少妇自拍| 青青草视频成人| 国产成人精品免费在线| 五月婷婷之婷婷| 另类av一区二区| 97超碰人人澡| 欧美福利专区| 亚洲欧美日韩不卡| 成人高清av| 欧美主播一区二区三区美女 久久精品人 | 91tv官网精品成人亚洲| 欧洲高清一区二区| 欧美大片网址| 国产乱子伦精品| 日韩欧美中文字幕一区二区三区| 国产精品最新在线观看| 日韩电影av| 久久久久www| 国产免费av一区二区| 国产精品成人一区二区三区夜夜夜| 香蕉视频污视频| 国产精品91一区二区| 免费网站在线观看黄| 麻豆一区二区在线| 日本中文字幕高清| 日韩激情在线观看| 黄色av免费在线播放| 亚洲一区一卡| 亚洲熟妇av一区二区三区| 国产一区二区你懂的| 亚洲午夜精品久久久久久人妖| 在线欧美福利| www国产精品内射老熟女| 在线视频精品| 成人在线免费观看av| 久久久亚洲一区| 可以在线看的黄色网址| 久久字幕精品一区| 搡女人真爽免费午夜网站| 日韩精品成人一区二区三区| 九色91popny| 久久 天天综合| 污视频在线观看免费网站| 国产精品一区一区三区| 精品伦一区二区三区| 成人午夜视频免费看| xxxxwww一片| 91老师片黄在线观看| 免费看污片的网站| 国产精品久久久久影院亚瑟| 久久精品一区二区三区四区五区 | 精品一区国产| 久久av电影| 一级特黄录像免费播放全99| 91精品国产自产在线观看永久∴| 大桥未久一区二区三区| 黄色日韩在线| 春日野结衣av| 久久国产欧美日韩精品| 原创真实夫妻啪啪av| 99久久综合色| 91精品国自产在线| 玉足女爽爽91| 天干夜夜爽爽日日日日| 欧美日韩国产一二三| 国产丰满果冻videossex| 亚洲精品国产精品乱码不99按摩| 久久久久久久影视| 久久深夜福利免费观看| 都市激情国产精品| 国产精品日韩久久久久| 日韩高清一区| 蜜桃传媒视频麻豆一区| 999久久久91| 亚洲 欧美 日韩 国产综合 在线 | 日韩亚洲视频在线观看| 日韩视频一区在线| 啊啊啊久久久| 国产日韩欧美在线观看| 久久久久观看| 一区二区免费在线视频| 国产亚洲在线观看| www.色欧美| 91欧美一区二区| 四虎精品免费视频| 色噜噜狠狠色综合中国| 99在线小视频| 在线播放国产一区二区三区| 日本大片在线播放| 国产精品普通话| 欧美一区 二区| 老司机午夜免费福利视频| 日本欧美加勒比视频| 亚洲欧美日韩偷拍| 亚洲日本护士毛茸茸| 91porny九色| 亚洲成人999| 最新av在线播放| 国产精品久久久久久久久久ktv| 精品美女在线观看视频在线观看| 77777亚洲午夜久久多人| 国产高清精品二区| 日韩亚洲欧美精品| 一本色道久久综合亚洲精品不| 亚洲天堂一区二区在线观看| 久久精品视频一区| 欧美日韩综合在线观看| 精品国产一区二区亚洲人成毛片| 91社区在线观看播放| 欧美又大粗又爽又黄大片视频| av电影一区| 国产98在线|日韩| 中文在线播放一区二区| 黄色小视频免费网站| 久久久国产精品午夜一区ai换脸| 亚洲欧美在线观看视频| 日韩欧美美女一区二区三区| 女女色综合影院| 91精品国产综合久久久久久久久| 九九视频精品全部免费播放| 国产午夜大地久久| av电影一区二区| 日韩精品乱码久久久久久| 91麻豆精品国产| 精品欧美色视频网站在线观看| 国产一区欧美二区三区| 四季av一区二区凹凸精品| 韩国中文字幕av| 中文字幕av一区二区三区| 日韩欧美国产另类| 正在播放国产一区| 啪啪av大全导航福利综合导航| 午夜精品一区二区三区四区| 日本在线不卡一区| 懂色av蜜桃av| 欧美日韩国产首页| 蜜桃视频在线观看www社区| 川上优av一区二区线观看| 久久久久久久久久久久久久久久久久 | 欧美高清性xxxxhd| 老司机久久99久久精品播放免费 | 亚洲日本护士毛茸茸| 国产成人三级在线播放| 欧美精品videosex极品1| 国产成人福利av| 无码aⅴ精品一区二区三区浪潮| 2020日本不卡一区二区视频| 在线观看你懂的网站| 久久色免费在线视频| silk一区二区三区精品视频| 日韩视频在线视频| 久久亚洲欧美国产精品乐播| 国产成人麻豆免费观看| 日韩在线欧美在线| 免费看日产一区二区三区| 男人日女人视频网站| av毛片久久久久**hd| 日韩一级片中文字幕| www.欧美精品| 亚洲码欧美码一区二区三区| 91国视频在线| 中文字幕乱码一区二区免费| 国产免费高清av| 97视频在线观看视频免费视频 | 国产一区二区三区免费观看在线| 97超碰在线视| 久久久亚洲精品一区二区三区 | 欧美一二三区视频| 国产亚洲精品久久久| 国产精品日韩精品在线播放| 人人干视频在线| 国产精品污污网站在线观看| 国产偷拍一区二区| 欧美中文字幕精品| 9999国产精品| 国产又黄又粗又猛又爽的视频| 欧美色涩在线第一页| a'aaa级片在线观看| 亚洲精品视频一区二区三区| 欧美精品福利| 37p粉嫩大胆色噜噜噜| 欧美一区午夜精品| 日本韩国欧美| 男人添女人下部高潮视频在观看| 中文字幕精品三区| 人妻精品一区一区三区蜜桃91|