cas

概念html

角色:java

c35b0232-ea55-47f2-8937-ad56b67f7251

原則:git

a196e109-d1f9-4e2f-a21f-9452d1924da9

原理github

兩個部分組成:web

b15f491c-22b6-445f-9bcc-4fe6586d0f2b

協議流程:數據庫

62de2ab6-f38d-4be2-9d7f-dda5960a11d2

最重要的部分爲ticke安全

兩種實現方式:服務器

(1)cookie

(2)基於代理的實現:session

bb7ff744-ae6a-42c4-addb-53115c713f6f

重點1:着重須要考慮的安全性問題:

重點2:怎樣在cas server中設置和數據庫鏈接

本身的理解:

cas v2的實現方式:cas流程中最重要是依靠ticket和session&cookie來實現的,第一階段,brower訪問集成了cas client的app1,跳轉到cas server,認證完畢後,生成一張ticket,並把這張ticket id發給brower,並跳轉至app1;第二階段,brower把ticket id發給app1,app1把ticket id發給cas server進行確認,確認ok就能夠登陸,並創建局部的session通訊;第三階段,登陸以後,如同普通brower和app進行校訂登陸;

cas v3的實現方式,就是經過proxy來訪問其餘app,就是在app1中直接登陸app2;

歸根結底是通訊雙方有一個能肯定身份的「信物」。

代碼實現流程

一、下載cas:https://github.com/apereo/cas

git下載有點慢,選擇下載release版本會快點,版本號爲4.1.0

二、導入idea

經過import maven方式導入會出錯,選擇open方式打開,忽略錯誤

三、部署cas-server-webapp,能夠看到服務器端登陸頁面,這一步是部署cas server的步驟;

四、子系統中集成cas-client,須要導入相關jar包,其中主要是配置web.xml

五、部署成功標誌:登陸cas client應用,可以自動跳轉到client server登陸,認證完畢後跳轉回cas client原頁面;

Demo

36010241

36010350

配置說明

問題總結

一、未認證受權的服務 CAS的服務記錄是空的,沒有定義服務。 但願經過CAS進行認證的應用程序必須在服務記錄中明肯定義。

"serviceId" : "^http.*",
https://blog.csdn.net/leftfist/article/details/79426328

二、cas client web.xml中主要配置

23939211

參考

https://www.ibm.com/developerworks/cn/opensource/os-cn-cas/index.html

http://www.blogjava.net/security/archive/2006/10/02/sso_in_action.html

這是一個系列,配置過程講的不錯https://www.imooc.com/article/15417#

https://apereo.github.io/cas/4.2.x/protocol/CAS-Protocol.html

cas系列文章都不錯,配置和原理都講的很明白:http://www.cnblogs.com/richaaaard/p/5047112.html

相關文章
相關標籤/搜索