日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

單點(diǎn)登錄失敗解決措施 單點(diǎn)登錄框架有哪些( 六 )


Spring Security 技術(shù)Spring Security 是一個(gè)企業(yè)級(jí)安全框架,由spring官方推出,它對(duì)軟件系統(tǒng)中的認(rèn)證,授權(quán),加密等功能進(jìn)行封裝,并在springboot技術(shù)推出以后,配置方面做了很大的簡(jiǎn)化.現(xiàn)在市場(chǎng)上分布式架構(gòu)中的安全控制,正在逐步的轉(zhuǎn)向Spring Security 。Spring Security 在企業(yè)中實(shí)現(xiàn)認(rèn)證和授權(quán)業(yè)務(wù)時(shí),底層構(gòu)建了大量的過濾器,如圖所示:

單點(diǎn)登錄失敗解決措施 單點(diǎn)登錄框架有哪些


其中:圖中綠色部分為認(rèn)證過濾器,黃色部分為授權(quán)過濾器 。Spring Security就是通過這些過濾器然后調(diào)用相關(guān)對(duì)象一起完成認(rèn)證和授權(quán)操作.
Jwt 數(shù)據(jù)規(guī)范JWT(JSON WEB Token)是一個(gè)標(biāo)準(zhǔn),采用數(shù)據(jù)自包含方式進(jìn)行json格式數(shù)據(jù)設(shè)計(jì),實(shí)現(xiàn)各方安全的信息傳輸,其官方網(wǎng)址為:https://jwt.io/ 。官方JWT規(guī)范定義,它構(gòu)成有三部分,分別為Header(頭部),Payload(負(fù)載),Signature(簽名),其格式如下:
xxxxx.yyyyy.zzzzzHeader 部分是一個(gè) JSON 對(duì)象,描述 JWT 的元數(shù)據(jù),通常是下面的樣子 。
{"alg": "HS256","typ": "JWT"}上面代碼中,alg屬性表示簽名的算法(algorithm),默認(rèn)是 HMAC SHA256(簡(jiǎn)寫HS256);typ屬性表示這個(gè)令牌(token)的類型(type),JWT 令牌統(tǒng)一寫為JWT 。最后,將這個(gè) JSON 對(duì)象使用 Base64URL 算法(詳見后文)轉(zhuǎn)成字符串 。
Payload部分
Payload 部分也是一個(gè) JSON 對(duì)象,用來存放實(shí)際需要傳遞的數(shù)據(jù) 。JWT規(guī)范中規(guī)定了7個(gè)官方字段,供選用 。
  • iss (issuer):簽發(fā)人
  • exp (expiration time):過期時(shí)間
  • sub (subject):主題
  • aud (audience):受眾
  • nbf (Not Before):生效時(shí)間
  • iat (Issued At):簽發(fā)時(shí)間
  • jti (JWT ID):編號(hào)
  • 除了官方字段,你還可以在這個(gè)部分定義私有字段,下面就是一個(gè)例子 。
{"sub": "1234567890","name": "John Doe","admin": true}注意,JWT 默認(rèn)是不加密的,任何人都可以讀到,所以不要把秘密信息放在這個(gè)部分 。
這個(gè) JSON 對(duì)象也要使用 Base64URL 算法轉(zhuǎn)成字符串 。
Signature部分
Signature 部分是對(duì)前兩部分的簽名,其目的是防止數(shù)據(jù)被篡改 。
首先,需要指定一個(gè)密鑰(secret) 。這個(gè)密鑰只有服務(wù)器才知道,不能泄露給用戶 。然后,使用 Header 里面指定的簽名算法(默認(rèn)是 HMAC SHA256),按照下面的公式產(chǎn)生簽名 。
HMACSHA256(base64UrlEncode(header) + "." +base64UrlEncode(payload),secret)算出簽名以后,把 Header、Payload、Signature 三個(gè)部分拼成一個(gè)字符串,每個(gè)部分之間用”點(diǎn)”(.)分隔,就可以返回給用戶 。
Oauth2規(guī)范oauth2定義了一種認(rèn)證授權(quán)協(xié)議,一種規(guī)范,此規(guī)范中定義了四種類型的角色:
1)資源有者(User)
2)認(rèn)證授權(quán)服務(wù)器(jt-auth)
3)資源服務(wù)器(jt-resource)
4)客戶端應(yīng)用(jt-ui)
同時(shí),在這種協(xié)議中規(guī)定了認(rèn)證授權(quán)時(shí)的幾種模式:
1)密碼模式 (基于用戶名和密碼進(jìn)行認(rèn)證)
2)授權(quán)碼模式(就是我們說的三方認(rèn)證:QQ,微信,微博, 。。。。)
3)…
總結(jié)(Summary)重難點(diǎn)分析
  • 單點(diǎn)登陸系統(tǒng)的設(shè)計(jì)架構(gòu)(微服務(wù)架構(gòu))
  • 服務(wù)的設(shè)計(jì)及劃分(資源服務(wù)器,認(rèn)證服務(wù)器,網(wǎng)關(guān)服務(wù)器,客戶端服務(wù))
  • 認(rèn)證及資源訪問的流程(資源訪問時(shí)要先認(rèn)證再訪問)
  • 認(rèn)證和授權(quán)時(shí)的一些關(guān)鍵技術(shù)(Spring Security,Jwt,Oauth2)
FAQ 分析