日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统间账号认证系统同步方案

發(fā)布時間:2023/12/2 windows 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统间账号认证系统同步方案 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

系統(tǒng)間賬號認(rèn)證系統(tǒng)同步方案

?

基礎(chǔ)原理:(基于Web)

瀏覽器在個請求傳遞cookie到服務(wù)器,服務(wù)器對cookie增刪改查的操作, 寫入JSessionId實(shí)現(xiàn)與服務(wù)器Session的綁定,保持會話

單機(jī)情況下:一個域名,對應(yīng)一個cookie,對應(yīng)一個JsessionId,與一個服務(wù)器Session會話

?

基于原理解決方案需要解決兩個問題:

1. Cookie在不同域名(系統(tǒng))間的傳遞問題

2. 服務(wù)器Session在不同服務(wù)器

?

問題1的解決方案:

cookie中的數(shù)據(jù)有三個屬性:domain、path、name。cookie新增和刪除,沒有修改選項,name相同,domain以及path不同,當(dāng)做不同的cookie來處理

又衍生出了兩種情況:

在同一個域名以及子域名下面的處理方式:使用domain綁定頂級域名

在不同域名下面的系統(tǒng)的處理方式:通過sso的模式,傳遞ticket,驗(yàn)證ticket獲取用戶信息,生成自己的sessionId到cookie中

?

?

問題2的解決方案:

部署在同一臺服務(wù)器:使用堆外內(nèi)存,磁盤緩存來實(shí)現(xiàn):ehcache

部署在不同服務(wù)器:使用redis、memcache緩存來實(shí)現(xiàn)

實(shí)現(xiàn)方式:

框架:spring-session、shiro-SessionManager模塊、使用redis客戶端

自研:修改實(shí)現(xiàn)JavaEE關(guān)于Session的增刪改查,實(shí)現(xiàn)分布式回話

?

上述問題比較麻煩的就是不同域名下系統(tǒng)的解決方案:單點(diǎn)登錄

底層方案:

JavaEE接入Cas的客戶端和服務(wù)端實(shí)現(xiàn)手動實(shí)現(xiàn)單點(diǎn)登錄

使用框架:

spring-cas

shiro整合cas

其他方式:

零侵入整合業(yè)務(wù)系統(tǒng):https://www.cnblogs.com/baibaomen/p/sso.html

?

Tomcat容器其實(shí)實(shí)現(xiàn)了對應(yīng)的Cookie的配置,但是過于依賴容器,在代碼中實(shí)現(xiàn),而非在運(yùn)維層面上實(shí)現(xiàn)是更好的選擇。

?

參考資料:

單點(diǎn)登錄時序圖:https://www.cnblogs.com/baibaomen/p/sso-sequence-chart.html

github單點(diǎn)登錄資料:https://github.com/baibaomen/BaibaomenSsoLesson

域名之間的cookie共享情況:https://segmentfault.com/a/1190000006932934?utm_source=tag-newest

JavaEE基礎(chǔ)教程書籍:《JavaWeb整合開發(fā)王者歸來》熟悉JavaEE基本對象以及基礎(chǔ)流程以及原理,容器只是基礎(chǔ)規(guī)范的實(shí)現(xiàn)

轉(zhuǎn)載于:https://www.cnblogs.com/fly-piglet/p/11059300.html

總結(jié)

以上是生活随笔為你收集整理的系统间账号认证系统同步方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。