1. 程式人生 > >基於 Cookie 的 SSO 中介軟體 kisso

基於 Cookie 的 SSO 中介軟體 kisso

kisso  cookie sso

基於 Cookie 的 SSO 中介軟體,它是一把快速開發 java Web 登入系統(SSO)的瑞士軍刀。歡迎大家使用 kisso!! 


1、支援單點登入

2、支援登入Cookie快取

3、支援防止 xss攻擊, SQL注入,指令碼注入

4、支援 Base64 / MD5 / AES / PBE / RSA 演算法

5、支援瀏覽器客戶端校驗

6、支援Cookie引數配置及擴充套件

7、支援跨域登入,模擬登入

8、支援線上人數統計

9、支援生成動態圖片驗證碼

10、支援 app 移動端 api 服務驗證,採用微信公眾平臺 api 驗證機制認證

11、自帶許可權驗證邏輯,支援基礎 Shiro , SpringSecurity 許可權系統

Maven 座標:

?
1 2 3 4 5 <dependency> <groupId>com.baomidou</groupId> <artifactId>kisso</artifactId> <version>Maven 官方最新版本為準</version> </dependency>
(1)、kisso 是什麼,與 cas 區別 ?

1、cas 是單點登入系統,它給你制定好了規則按照它的要求做就可以,配置(複雜)好一切即可實現單點登入。 2、kisso 是一箇中間件,提供 cookie 搭建 java web sso 的元件式解決方案。你不管使用任何架構都可以使用它,就像一個 U 盤需要使用就插入、不用就拔掉。 3、cas 集中驗證,所有請求都由 cas 集中驗證,缺點cas服務壓力巨大。kisso 分散驗證,由各個系統驗證 cookie 合法性,缺點祕鑰要保護好。 (2)、為什麼是 cookie 而不是 session 它們有何區別 ? kisso 採用的是加密會話 cookie 瀏覽器關閉立即失效,同時支援後臺登入超時自動退出,支援客戶端瀏覽器驗證、訪問 ip 及 cookie 安全配置等。
1、session 存放在伺服器端,cookie 存放在客戶端,存在 2 種狀態:“ 第一種:持久 cookie 具有時效性,以檔案的形式存放在客戶機硬碟中,時間一到生命週期結束自動被刪除。第二種:臨時 cookie 又叫會話 cookie 放在瀏覽器記憶體中,瀏覽器關閉生命週期結束自動失效 ”。 2、單純不做任何改變而言 session 更安全,如果 cookie 採取各種安全保護措施,此時的 cookie 一樣安全。 3、cookie 輕鬆實現分散式服務部署,單點登入跨域訪問等問題,換成 session 需要處理 session 複製及各種問題實現困難。 (3)、經常被問及的問題 ?
在此重申下,下載原始碼的朋友先按照 demo 提供的例子執行跑通後,再修改不要上來就急急忙忙改,不會了就截圖發問,這樣一則沒有理解透徹實現原理,二則耽誤別人的時間,實在是得不償失。 1、跨域是什麼 ? 這裡跨域有 2 種  :

         第一種、同一個根域名不同子域名,比如 my.baomidou.com 、  sso.baomidou.com  、other.baomidou.com 此時配置  domain 只需要配置   .baomidou.com  即可。

        第二種、完全不同的域名,比如  sso.baomidou.com     git.oschina.net 此時比較複雜 kisso 採用的是 rsa 加密詢問驗證(較複雜)

         2、改成 ip 支援麼 ?         支援! 注意訪問時候使用 ip 訪問,domain 的配置 ip 即可,不要是  .192.168.1.3  注意此時不要在前面加個  .  點。         3、sso.properties  怎麼去配置 ?

    除了金鑰、域名、必須修改,其他預設配置或根據需要選擇配置即可 查考點選 根據自己的需求選擇配置。

    很多朋友問?都誰在用 kisso !?

      不要問我星星有幾顆, 我會告訴你很多很多!!(保密)

(1)sso 登入狀態 

(2)跨域登入


hosts:

127.0.0.1 sso.test.com

127.0.0.1 my.web.com

訪問 my.web.com:8090/index.html 如果未登入會重定向至sso域登入頁面 

登入成功 my.web.com 如圖 

普通登入