Hadoop生態圈-單點登錄框架之CAS(Central Authentication Service)部署


        Hadoop生態圈-單點登錄框架之CAS(Central Authentication Service)部署

                                         作者:尹正傑 

版權聲明:原創作品,謝絕轉載!否則將追究法律責任。

 

 

 

一.CAS簡介

  CAS(Central Authentication Service)是一款十分流行的單點登錄框架。單點登錄(Single Sign On,SSO)是服務於愜意業務整合的解決方案之一,SSO使得在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。

  CAS從架構上粉我餓CAS Server和CAS client兩個部分,CAS Server是統一的認證服務器,所有未經授權的請求都會重定向到這里進行認證。而CAS Client則代表需要通過CAS Server進行認證的用用服務。

  CAS的整個認證流程如下圖所示,CAS Client與受保護的客戶端應用部署在一起,以Filter(過濾器)的形式保護手保護的資源。 

  1>.對於訪問受保護的資源每個Web請求,CAS Clint會分析這些HTTTP請求是否包含Service Ticket ,如果沒有則說明當前用戶尚未登錄;

  2>.如果用戶尚未登錄,CAS Client會將請求重定向到指定好的CAS Server登錄地址,並傳遞Service地址(也就是要訪問的目的資源地址),以便登錄成功過后轉回該地址;

  3>.用戶在第3步認證信息,如果登錄成功,CAS Server隨機產生一個長度相等且唯一,不可偽造的Service Ticket;

  4>.之后系統自動重定向到Service所在地址,並為客戶端瀏覽器設置一個Ticket Granted Cookie(TGC);

  5>.CAS Client在拿到Service地址和新產生的Ticket之后,在第5步和第6步中與CAS Server進行身份校驗以確保Service Ticket的合法性。

  在該協議中,所有與CAS的交互均采用SSL協議,確保Service Ticket 和TGC的安全性。協議在工作過程中會有兩次重定向的過程,但CAS Client與CAS Server之間進行Ticket驗證的過程對於用戶是透明的。

 

 

二.安裝CAS-Server

1>.下載安裝包

  首先下載CAS的程序包,我們使用CAS 4.0版本進行安裝,程序下載地址是:https://github.com/apereo/cas/releases/tag/v4.0.0。下載之后會得到一個名為cas-server-4.0.0-release.zip的壓縮包,請確保將其解壓到Ambari-Server所在的服務器上的任意目錄。這么做的原因是因為在集成單點登錄的時候,Ranger,Ambari-Service,Knox Gateway和CAS-Sever需要安裝在同一台服務器上。使用unzip命令對其解壓,解壓之后會生成一個文件夾。進入到modules目錄下找到一個名為“cas-server-webapp-4.0.0.war”的文件,這就是CAS Server 程序,如下圖所示,原來CAS Server其實是一個War包程序。

[root@node101 ~]# wget https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip
--2018-12-18 16:40:15--  https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip
Resolving github.com (github.com)... 52.74.223.119, 13.229.188.59, 13.250.177.223
Connecting to github.com (github.com)|52.74.223.119|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/2352744/3dbe1b3a-8863-11e4-9274-f93d7d695c3f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181218T102451Z&X-Amz-Expires=300&X-Amz-Signature=4010bdfa010e2790b79fb81fa28dadad52f8499263400dad68100ea4b131ee88&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dcas-server-4.0.0-release.zip&response-content-type=application%2Foctet-stream [following]
--2018-12-18 16:40:16--  https://github-production-release-asset-2e65be.s3.amazonaws.com/2352744/3dbe1b3a-8863-11e4-9274-f93d7d695c3f?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20181218%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20181218T102451Z&X-Amz-Expires=300&X-Amz-Signature=4010bdfa010e2790b79fb81fa28dadad52f8499263400dad68100ea4b131ee88&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dcas-server-4.0.0-release.zip&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.230.235
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.230.235|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 83763248 (80M) [application/octet-stream]
Saving to: ‘cas-server-4.0.0-release.zip100%[=======================================================================================>] 83,763,248   946KB/s   in 1m 44s 

2018-12-18 16:42:01 (788 KB/s) - ‘cas-server-4.0.0-release.zip’ saved [83763248/83763248]

[root@node101 ~]# ll
total 81804
-rw-r--r-- 1 root root 83763248 May 21  2017 cas-server-4.0.0-release.zip
[root@node101 ~]# 
[root@node101 ~]# wget https://github.com/apereo/cas/releases/download/v4.0.0/cas-server-4.0.0-release.zip

2>.安裝tomcat服務

   我們這里使用的是apache-tomcat-7.0.72版本,下載地址為:http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.72/。

 

[root@node101 ~]# wget  http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.72/bin/apache-tomcat-7.0.72.tar.gz
[root@node101 ~]# 
[root@node101 ~]# ll
total 90532
-rw-r--r--  1 root root  8931288 Sep 14  2016 apache-tomcat-7.0.72.tar.gz
drwxrwxrwx 25 root root     4096 May 12  2014 cas-server-4.0.0
-rw-r--r--  1 root root 83763248 May 21  2017 cas-server-4.0.0-release.zip
[root@node101 ~]# 
[root@node101 ~]# tar -xf apache-tomcat-7.0.72.tar.gz -C /yinzhengjie/softwares/
[root@node101 ~]# 
[root@node101 ~]# cp cas-server-4.0.0/modules/cas-server-webapp-4.0.0.war /yinzhengjie/softwares/apache-tomcat-7.0.72/webapps/ 
[root@node101 ~]# 
[root@node101 ~]# ll /yinzhengjie/softwares/apache-tomcat-7.0.72/webapps/
total 24476
-rw-r--r--  1 root root 25038970 Dec 19 08:53 cas-server-webapp-4.0.0.war
drwxr-xr-x 14 root root     4096 Dec 19 08:51 docs
drwxr-xr-x  7 root root     4096 Dec 19 08:51 examples
drwxr-xr-x  5 root root     4096 Dec 19 08:51 host-manager
drwxr-xr-x  5 root root     4096 Dec 19 08:51 manager
drwxr-xr-x  3 root root     4096 Dec 19 08:51 ROOT
[root@node101 ~]# 

 

3>.

 

三.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM