Java安全框架Shiro和Spring Security對比

Shiro簡介

Apache Shiro是一個強大且易用的Java安全框架,執(zhí)行身份驗證、授權(quán)、密碼學(xué)和會話管理月幌。使用Shiro的易于理解的API,您可以快速、輕松地獲得任何應(yīng)用程序,從最小的移動應(yīng)用程序到最大的網(wǎng)絡(luò)和企業(yè)應(yīng)用程序悬蔽。

Shiro架構(gòu)與功能介紹

1.認證與授權(quán)相關(guān)基本概念

兩個基本的概念

安全實體:系統(tǒng)需要保護的具體對象數(shù)據(jù)

權(quán)限:系統(tǒng)相關(guān)的功能操作扯躺,例如基本的CRUD

Authentication: 認證。即驗證是哪個用戶登錄蝎困。

Authorization:也被稱為訪問控制录语,即決定當前登錄用戶是否有權(quán)限去訪問受保護的資源。

Cryptography:通過加密算法保護數(shù)據(jù)安全禾乘。

Session Management: 當用戶使用你的應(yīng)用是自身攜帶的數(shù)據(jù)澎埠。

Web Integration: 雖然Shiro是設(shè)計用來確保任何基于JVM的應(yīng)用,但是很多時候是用來保護Web應(yīng)用始藕。

Integrations:可以很好的集成其他的技術(shù)和框架失暂。

2.Shiro四大核心功能:Authentication,Authorization,Cryptography,Session Management

Shiro架構(gòu)

3.Shiro三個核心組件:Subject, SecurityManager 和 Realms.

subject:主體,可以是用戶也可以是程序鳄虱,主體要訪問系統(tǒng)弟塞,系統(tǒng)需要對主體進行認證、授權(quán)拙已。

securityManager:安全管理器决记,主體進行認證和授權(quán)都是通過securityManager進行,是shiro的心臟倍踪。

realm:域系宫,領(lǐng)域,相當于數(shù)據(jù)源建车,通俗意義的DAO層扩借,通過realm存取認證、授權(quán)相關(guān)數(shù)據(jù)缤至。

Spring Security簡介

Spring Security是一個靈活和強大的身份驗證和訪問控制框架潮罪,以確保基于Spring的Java Web應(yīng)用程序的安全领斥。它是一個輕量級的安全框架嫉到,它確保基于Spring的應(yīng)用程序提供身份驗證和授權(quán)支持月洛。它與Spring MVC有很好地集成何恶,并配備了流行的安全算法實現(xiàn)捆綁在一起。安全主要包括兩個操作“認證”與“驗證”(有時候也會叫做權(quán)限控制)嚼黔∠覆悖“認證”是為用戶建立一個其聲明的角色的過程惜辑,這個角色可以一個用戶、一個設(shè)備或者一個系統(tǒng)疫赎∈⒊牛“驗證”指的是一個用戶在你的應(yīng)用中能夠執(zhí)行某個操作。在到達授權(quán)判斷之前虚缎,角色已經(jīng)在身份認證過程中建立了撵彻。

它的設(shè)計是基于框架內(nèi)大范圍的依賴的,可以被劃分為以下幾塊实牡。

Web/Http 安全:這是最復(fù)雜的部分陌僵。通過建立 filter 和相關(guān)的 service bean 來實現(xiàn)框架的認證機制。當訪問受保護的 URL 時會將用戶引入登錄界面或者是錯誤提示界面创坞。

業(yè)務(wù)對象或者方法的安全:控制方法訪問權(quán)限的碗短。

AuthenticationManager:處理來自于框架其他部分的認證請求。

AccessDecisionManager:為 Web 或方法的安全提供訪問決策题涨。會注冊一個默認的偎谁,但是我們也可以通過普通 bean 注冊的方式使用自定義的 AccessDecisionManager。

AuthenticationProvider:AuthenticationManager 是通過它來認證用戶的纲堵。

UserDetailsService:跟 AuthenticationProvider 關(guān)系密切巡雨,用來獲取用戶信息的。

Shiro和Spring Security比較

Shiro比Spring更容易使用席函,實現(xiàn)和最重要的理解

Spring Security更加知名的唯一原因是因為品牌名稱

“Spring”以簡單而聞名铐望,但諷刺的是很多人發(fā)現(xiàn)安裝Spring Security很難

然而,Spring Security卻有更好的社區(qū)支持

Apache Shiro在Spring Security處理密碼學(xué)方面有一個額外的模塊

Spring-security 對spring 結(jié)合較好茂附,如果項目用的springmvc 正蛙,使用起來很方便。但是如果項目中沒有用到spring营曼,那就不要考慮它了乒验。

Shiro 功能強大、且 簡單蒂阱、靈活锻全。是Apache 下的項目比較可靠,且不跟任何的框架或者容器綁定蒜危,可以獨立運行

個人感想

shiro首選 虱痕,上手快 ,控制粒度可糙可細 辐赞,自由度高 ,我已經(jīng)拋棄了spring安全管理 投向shiro好多年硝训。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末响委,一起剝皮案震驚了整個濱河市新思,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌赘风,老刑警劉巖夹囚,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異邀窃,居然都是意外死亡荸哟,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門瞬捕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鞍历,“玉大人,你說我怎么就攤上這事肪虎×涌常” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵扇救,是天一觀的道長刑枝。 經(jīng)常有香客問我,道長迅腔,這世上最難降的妖魔是什么装畅? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮沧烈,結(jié)果婚禮上掠兄,老公的妹妹穿的比我還像新娘。我一直安慰自己掺出,他們只是感情好徽千,可當我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汤锨,像睡著了一般双抽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闲礼,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天牍汹,我揣著相機與錄音,去河邊找鬼柬泽。 笑死慎菲,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的锨并。 我是一名探鬼主播露该,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼第煮!你這毒婦竟也來了解幼?” 一聲冷哼從身側(cè)響起抑党,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撵摆,沒想到半個月后底靠,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡特铝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年暑中,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鲫剿。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡鳄逾,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出牵素,到底是詐尸還是另有隱情严衬,我是刑警寧澤,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布笆呆,位于F島的核電站请琳,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赠幕。R本人自食惡果不足惜俄精,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望榕堰。 院中可真熱鬧竖慧,春花似錦、人聲如沸逆屡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽魏蔗。三九已至砍的,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間莺治,已是汗流浹背廓鞠。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留谣旁,地道東北人床佳。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像榄审,于是被迫代替她去往敵國和親砌们。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容