1. 程式人生 > >基於 Cookie 的 SSO 中間件 kisso

基於 Cookie 的 SSO 中間件 kisso

height item 下載 參數配置 管理 cells source family 別人

kisso = cookie sso

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

技術分享圖片

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 權限系統

kisso 依賴 jars

kisso_oauth2 演示 demo

kisso_ApiServer 移動 APP 端 API 演示 demo

kisso_JFinal 演示 demo

kisso_SpringMvc 演示 demo

kisso_crossdomain 跨域演示 demo

實例演示 SSM 架構後臺管理系統


Maven 坐標:

http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.baomidou%22%20AND%20a%3A%22kisso%22

?
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 即可。

查看普通 demo : kisso_JFinal 演示 demo kisso_SpringMvc 演示 demo



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

查看跨域 demo: kisso_crossdomain 跨域演示 demo


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 如圖

技術分享圖片


普通登錄

技術分享圖片

技術分享圖片

基於 Cookie 的 SSO 中間件 kisso