基於 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、cas 是單點登入系統,它給你制定好了規則按照它的要求做就可以,配置(複雜)好一切即可實現單點登入。 2、kisso 是一箇中間件,提供 cookie 搭建 java web sso 的元件式解決方案。你不管使用任何架構都可以使用它,就像一個 U 盤需要使用就插入、不用就拔掉。 3、cas 集中驗證,所有請求都由 cas 集中驗證,缺點cas服務壓力巨大。kisso 分散驗證,由各個系統驗證 cookie 合法性,缺點祕鑰要保護好。 (2)、為什麼是 cookie 而不是 session 它們有何區別 ? kisso 採用的是加密會話 cookie 瀏覽器關閉立即失效,同時支援後臺登入超時自動退出,支援客戶端瀏覽器驗證、訪問 ip 及 cookie 安全配置等。
在此重申下,下載原始碼的朋友先按照 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 如圖
普通登入