CAS單點登入

2021-08-28 16:24:36 字數 2512 閱讀 5549

出現這個頁面說明服務端部署成功。cas預設的使用者名稱casuser,密碼 mellon,登陸成功:

如果我們不希望用8080埠訪問cas, 可以修改埠

(1)修改tomcat的埠

開啟tomcat 目錄 conf\server.xml 找到下面的配置

將埠8080,改為9000

(2)修改cas配置檔案

修改cas的web-inf/cas.properties

server.name=http://localhost:9000去除https認證

cas預設使用的是https協議,如果對安全要求不高,可使用http協議。我們這裡講解通過修改配置,讓cas使用http協議。

(1)修改cas的web-inf/deployerconfigcontext.xml

找到下面的配置

這裡需要增加引數p:requiresecure=」false」,requiresecure屬性意思為是否需要安全驗證,即https,false為不採用

(2)修改cas的/web-inf/spring-configuration/ticketgrantingticketcookiegenerator.xml

找到下面配置

引數p:cookiesecure=」true」,同理為https驗證相關,true為採用https驗證,false為不採用https驗證。

引數p:cookiemaxage=」-1」,是cookie的最大生命週期,-1為無生命週期,即只在當前開啟的視窗有效,關閉或重新開啟其它視窗,仍會要求驗證。可以根據需要修改為大於0的數字,比如3600等,意思是在3600秒內,開啟任意視窗,都不需要驗證。

我們這裡將cookiesecure改為false , cookiemaxage 改為3600

(3)修改cas的web-inf/spring-configuration/warncookiegenerator.xml

找到下面配置

我們這裡將cookiesecure改為false , cookiemaxage 改為3600

客戶端使用springboot

pom檔案,引入cas客戶端自動配置依賴,如果是非springboot專案,就要自己引依賴,配置web.xml***

net.unicon.cas

cas-client-autoconfig-support

1.4.0-ga

注意配置檔案最後不要加空格,springboot專案會讀取空格,訪問服務端登陸會報解析url錯誤,字元錯誤的異常

cas.server-url-prefix必須是服務端的url加專案cas,否則會找不到服務端的介面

啟動類配置,寫乙個介面

@enablecasclient

@controller

public static void main(string args)

public string hello() }

在resources/template中加個頁面

訪問http://localhost:9001/hello,

剛開始報url字元異常,因為我配置檔案的url加了空格。後來報valdateservice乙個路徑找不到,因為配置cas.server-url-prefix寫錯了。正常訪問先到服務端登陸頁面,登陸後調hello介面

cas單點登入

開門見山,如下圖為cas登入的序列圖 cas實現單點登入的主要票據有兩個,乙個是tgt,乙個是st。因為是做單點登入的,所以客戶端應該是有多個的,當其中乙個登入之後,在同一瀏覽器中在登陸其他客戶端使用者是感知不到再次登入的,原因是第一次登入成功後cookie記錄乙個tgt,這個cookie在瀏覽器中...

CAS單點登入

單點登入 single sign on 簡稱 sso 是目前比較流行的服務於企業業務整合的解決方案之一,sso 使得在多個應用系統中,使用者只需要登入一次就可以訪問所有相互信任的應用系統。cas central authentication service 是一款不錯的針對 web 應用的單點登入框...

CAS單點登入原理

之前我們談了如何關於單點登入的一些概述,講到了當跨網域名稱單點登入時,cas的設計具有參考價值,那麼這篇就該談談cas的具體原理了。cas指的是apereo的cas開源專案,三個字母分別是是central authentication service的首字母縮寫。git 官方文件 截止目前版本已經更...