成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Shiro的統(tǒng)一認證授權(quán)

cocopeak / 3189人閱讀

摘要:的統(tǒng)一認證授權(quán)是下面的一個簡單,易用的權(quán)限框架,對于單體應(yīng)用來講,完全能夠極好的,快速的滿足權(quán)限的需求,所以一般在做項目的時候,都會成為開發(fā)者的首選。

Shiro的統(tǒng)一認證授權(quán)

Shiro是Apache下面的一個簡單,易用的Java權(quán)限框架,對于單體應(yīng)用來講,Shiro完全能夠極好的,快速的滿足權(quán)限的需求,所以一般在做項目的時候,Shiro都會成為開發(fā)者的首選。

可是,如果你需要做第二個,第三個,第n個應(yīng)用,同樣需要相同的認證、授權(quán)時,可能就需要對Shiro進行一定的擴展或者是集成其它框架,才能很好的滿足你的需求了。

Shiro是如何進行認證授權(quán)

Shiro本身并沒有幫你實現(xiàn)認證、授權(quán),但Shiro很好的定義了權(quán)限相關(guān)的一些概念,讓你完成具體的實現(xiàn)

認證
在Shiro里,完成認證一般是這樣的subject.login(token),Subject代表一個用戶,Token代表一個用戶請求授權(quán)時提交的授權(quán)信息,通過AuthenticatingRealm.doGetAuthenticationInfo()獲取到當(dāng)前Subject的一些信息,比如Principals,Credentials,校驗提交的token,如果登錄成功,保存當(dāng)前登錄用戶

授權(quán)
在Shiro里,權(quán)限控制一般是這樣的@RequiresPermissions,當(dāng)用戶訪問受保護資源的時候,Shiro會通過AuthorizingRealm.doGetAuthorizationInfo(),從當(dāng)前認證通過Subject的Principals里獲取用戶的權(quán)限,判斷用戶是否能訪問該資源

在Shiro里,通過實現(xiàn)Realm來完成上面2件事情,當(dāng)你時單體應(yīng)用的時候,非常簡單就能完成應(yīng)用的認證授權(quán)。

但是當(dāng)你有多個應(yīng)用,需要復(fù)用同一套用戶以及權(quán)限信息時該怎么做呢,可以復(fù)用Realm,用戶權(quán)限在同一個db中,這樣的話是可以實現(xiàn)的,但是耦合太高,不同的應(yīng)用必須要接入同一個數(shù)據(jù)源才行;或者可以把用戶權(quán)限相關(guān)的DAO剝離出來,作為RPC或Rest調(diào)用,也可以實現(xiàn);但是更好的方式是把認證授權(quán)整個剝離出來,多帶帶作為認證授權(quán)服務(wù)

基于Shiro的統(tǒng)一認證授權(quán)

為了實現(xiàn)統(tǒng)一認證授權(quán),Shiro有CasFilter,可以集成CAS,但是CAS又是另外一套框架,較為重,有多帶帶的學(xué)習(xí)成本,所以這里介紹一種更簡單,輕量,易用的,基于Shiro的認證授權(quán)服務(wù)shiro-uaa

認證授權(quán)流程

用戶請求受保護資源Resource Server

Resource Server判斷用戶是否已經(jīng)登錄

如果沒有登錄,Resource Server引導(dǎo)用戶到UAA Server進行登錄

用戶在UAA Server登錄,如果登錄成功,UAA Server返回code給用戶,并引導(dǎo)用戶到之前訪問的Resource Server

Resource Server用code到UAA Server獲取access-token,token包含用戶授權(quán)信息

Resource Server驗證accessToken是否合法,如果合法,在Resource Server保存用戶信息

如下圖:

使用

auth-server

引用maven

實現(xiàn)自己的登錄

resource-server

引用maven

和shiro一樣,使用相關(guān)注解進行權(quán)限控制

基本上開箱即用,目前auth-server只是作為jar包提供,需要自己實現(xiàn)登錄邏輯,后續(xù)會有可部署服務(wù)

shiro-uaa具體的相關(guān)說明介紹可以查看項目地址

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/76660.html

相關(guān)文章

  • Shiro入門這篇就夠了【Shiro基礎(chǔ)知識、回顧URL攔截】

    摘要:細粒度權(quán)限管理就是數(shù)據(jù)級別的權(quán)限管理。張三只能查看行政部的用戶信息,李四只能查看開發(fā)部門的用戶信息。比如通過的攔截器實現(xiàn)授權(quán)。 前言 本文主要講解的知識點有以下: 權(quán)限管理的基礎(chǔ)知識 模型 粗粒度和細粒度的概念 回顧URL攔截的實現(xiàn) Shiro的介紹與簡單入門 一、Shiro基礎(chǔ)知識 在學(xué)習(xí)Shiro這個框架之前,首先我們要先了解Shiro需要的基礎(chǔ)知識:權(quán)限管理 1.1什...

    chenjiang3 評論0 收藏0
  • Spring Security

    摘要:框架具有輕便,開源的優(yōu)點,所以本譯見構(gòu)建用戶管理微服務(wù)五使用令牌和來實現(xiàn)身份驗證往期譯見系列文章在賬號分享中持續(xù)連載,敬請查看在往期譯見系列的文章中,我們已經(jīng)建立了業(yè)務(wù)邏輯數(shù)據(jù)訪問層和前端控制器但是忽略了對身份進行驗證。 重拾后端之Spring Boot(四):使用JWT和Spring Security保護REST API 重拾后端之Spring Boot(一):REST API的搭建...

    keelii 評論0 收藏0
  • Shiro授權(quán)、整合Spirng、Shiro過濾器】

    摘要:表示對用戶資源進行操作,相當(dāng)于,對所有用戶資源實例進行操作。與整合,實際上的操作都是通過過濾器來干的。將安全管理器交由工廠來進行管理。在過濾器鏈中設(shè)置靜態(tài)資源不攔截。 前言 本文主要講解的知識點有以下: Shiro授權(quán)的方式簡單介紹 與Spring整合 初始Shiro過濾器 一、Shiro授權(quán) 上一篇我們已經(jīng)講解了Shiro的認證相關(guān)的知識了,現(xiàn)在我們來弄Shiro的授權(quán) Shir...

    ralap 評論0 收藏0
  • Shiro授權(quán)過濾器、與ehcache整合、驗證碼、記住我】

    摘要:為了達到很好的效果,我們使用來對的緩存進行管理配置會話管理器,對會話時間進行控制手動清空緩存由于驗證用戶名和密碼之前,一般需要驗證驗證碼的。 前言 本文主要講解的知識點有以下: Shiro授權(quán)過濾器使用 Shiro緩存 與Ehcache整合 Shiro應(yīng)用->實現(xiàn)驗證碼功能 記住我功能 一、授權(quán)過濾器測試 我們的授權(quán)過濾器使用的是permissionsAuthorization...

    K_B_Z 評論0 收藏0
  • 不用 Spring Security 可否?試試這個小而美安全框架

    摘要:寫在前面在一款應(yīng)用的整個生命周期,我們都會談及該應(yīng)用的數(shù)據(jù)安全問題。用戶的合法性與數(shù)據(jù)的可見性是數(shù)據(jù)安全中非常重要的一部分。 寫在前面 在一款應(yīng)用的整個生命周期,我們都會談及該應(yīng)用的數(shù)據(jù)安全問題。用戶的合法性與數(shù)據(jù)的可見性是數(shù)據(jù)安全中非常重要的一部分。但是,一方面,不同的應(yīng)用對于數(shù)據(jù)的合法性和可見性要求的維度與粒度都有所區(qū)別;另一方面,以當(dāng)前微服務(wù)、多服務(wù)的架構(gòu)方式,如何共享Sessi...

    toddmark 評論0 收藏0

發(fā)表評論

0條評論

cocopeak

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<