亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.430618.com 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線(xiàn)咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

看過(guò)不少JWT和單點(diǎn)登錄系統(tǒng)的文章,自己也算略知一二。

這里就根據(jù)自己的實(shí)際開(kāi)發(fā)經(jīng)驗(yàn)談一下我的理解。

大致可以總結(jié)為以下三種方案:

1. 純Jwt

2. Jwt + 認(rèn)證中心redis

3. Jwt + 認(rèn)證中心Redis + 多系統(tǒng)Redis

1. 純Jwt 方案

1. 用戶(hù)去認(rèn)證中心登錄,認(rèn)證中心生成jwt,返回給客戶(hù)端。

2. 客戶(hù)端攜帶jwt請(qǐng)求多個(gè)系統(tǒng)  

3. 每個(gè)系統(tǒng)各自解析jwt,取出用戶(hù)信息。能解析成功就說(shuō)明jwt有效,繼續(xù)處理
    自己的業(yè)務(wù)邏輯。
      
     優(yōu)點(diǎn):認(rèn)證流程簡(jiǎn)單,服務(wù)端處理速度快。
   
     缺點(diǎn):因?yàn)楹?jiǎn)單,所以不安全。jwt一旦下發(fā),有效期內(nèi)就無(wú)法使其主動(dòng)失效。
      
     一句話(huà)總結(jié):認(rèn)證中心創(chuàng)建Jwt,其他系統(tǒng)解析。

2.Jwt + 認(rèn)證中心Redis

1. 用戶(hù)去認(rèn)證中心登錄,認(rèn)證中心生成jwt,保存到redis并返回給客戶(hù)端。
    
2. 客戶(hù)端攜帶jwt去多個(gè)系統(tǒng)認(rèn)證  
    
3. 每個(gè)系統(tǒng)只負(fù)責(zé)從請(qǐng)求中取出jwt, 傳給認(rèn)證中心。認(rèn)證解析用戶(hù)信息,
    并與redis中的jwt校驗(yàn),判斷是否有效。然后返回用戶(hù)信息給剛才發(fā)起驗(yàn)證請(qǐng)求的系統(tǒng)。
       
    優(yōu)點(diǎn):安全性高,服務(wù)端能控制jwt主動(dòng)失效。
   
    缺點(diǎn):每次請(qǐng)求需要認(rèn)證的接口,都需要訪(fǎng)問(wèn)認(rèn)證中心,耗時(shí)略長(zhǎng)。

    一句話(huà)總結(jié):認(rèn)證中心負(fù)責(zé)Jwt的創(chuàng)建與解析,其他系統(tǒng)不參與認(rèn)證邏輯。

3.Jwt + 認(rèn)證中心redis + 多系統(tǒng)redis

1. 用戶(hù)去認(rèn)證中心登錄,認(rèn)證中心生成jwt,保存到redis并返回給客戶(hù)端。
 
2. 客戶(hù)端攜帶jwt去多個(gè)系統(tǒng)認(rèn)證  
    
3. 多系統(tǒng)(比如系統(tǒng)A)收到j(luò)wt,A解析并取出用戶(hù)信息,先判斷自己的A的redis中
    有沒(méi)有jwt。
    3.1 如果有,就合法,a系統(tǒng)可以繼續(xù)執(zhí)行業(yè)務(wù)邏輯。
        3.2 如果沒(méi)有就拿著jwt去認(rèn)證中心驗(yàn)證。
        3.2.1 如果通過(guò),a系統(tǒng)就把這個(gè)jwt保存到自己的redis,并設(shè)置對(duì)應(yīng)的失效時(shí)間。
        	      下次這個(gè)jwt再來(lái)到a的時(shí)候,就不需要去認(rèn)證中心校驗(yàn)了。
            3.2.2 如果驗(yàn)證不通過(guò)此次請(qǐng)求就不合法,告訴客戶(hù)端需要跳轉(zhuǎn)登錄頁(yè)面,
           		      去認(rèn)證中心登錄,返回步驟1。
       
優(yōu)點(diǎn):安全性高,平均認(rèn)證過(guò)程較快。
       
缺點(diǎn):服務(wù)端流程復(fù)雜,需要考慮jwt的同步問(wèn)題。比如注銷(xiāo)或重新登錄后,認(rèn)證中心
          刪除舊jwt需要同步給其他系統(tǒng),其他系統(tǒng)刪除自己保存的jwt。      
      
一句話(huà)總結(jié):認(rèn)證中心創(chuàng)建jwt,其他系統(tǒng)解析并校驗(yàn),需要保持jwt同步。

綜合總結(jié):

  • 方案1才是Jwt的本質(zhì)。
  • 方案2是我基于Jwt的改進(jìn),用作我們公司新項(xiàng)目的登錄系統(tǒng)。
    (個(gè)人比較推薦方案3,后續(xù)考慮會(huì)向方案3轉(zhuǎn)移)
  • 方案3準(zhǔn)確說(shuō)是單點(diǎn)登錄系統(tǒng)的標(biāo)準(zhǔn)流程,只是結(jié)合了Jwt。其他2種方案都是偽單點(diǎn)。

備注: 文中使用Redis是為了單個(gè)系統(tǒng)集群機(jī)器之間能夠“Session共享”。

分享到:
標(biāo)簽:單點(diǎn) 登錄 Jwt
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定