Ch1-Shiro的簡(jiǎn)單介紹

Java的安全框架數(shù)得著的有 Apache Shiro 一個(gè),當(dāng)然還有大名鼎鼎的 Spring Security ,從規(guī)模上講, Shiro 更加簡(jiǎn)單,而且也滿足大多數(shù)的需求,所以被使用的頻率更高一些.
Shiro 可以做到的事情主要是:

  • 認(rèn)證
  • 授權(quán)
  • 加密
  • 會(huì)話管理
  • Web集成
  • 緩存
    層次架構(gòu)

    Authentication : 身份認(rèn)證,驗(yàn)證用戶是不是有相應(yīng)的身份
    Authorization : 授權(quán),權(quán)限的認(rèn)證,驗(yàn)證某一個(gè)用戶是否擁有某個(gè)權(quán)限
    Session Manager : 會(huì)話管理,用戶登錄之后就是一次會(huì)話,在退出之前,用戶的信息也都是在會(huì)話中保存的
    Cryptography : 加密,數(shù)據(jù)是不是安全,密碼需要加密存儲(chǔ)
    Web Support : 可以集成到Web環(huán)境
    Concurrency : 并發(fā)多線程的支持,在一個(gè)線程中開(kāi)啟另一個(gè),權(quán)限也會(huì)相應(yīng)傳播
    Testing : 提供測(cè)試的支持
    Run As : 用戶之間身份的假裝
    Remember Me : 記住我,一次登錄成功之后不再需要再次登錄
    重點(diǎn) : Shiro 本身并沒(méi)有角色權(quán)限等信息,需要自己設(shè)計(jì)提供,然后注入到框架中
    那么到底怎么使用 Shiro ?怎么在自己的項(xiàng)目里整合?
    先從使用的角度看看都有哪一些類會(huì)在應(yīng)用程序的代碼里用到 :
    使用

    主要的交互就是使用subject對(duì)象來(lái)進(jìn)行的:
    Subject : 所謂的主體,也就是抽象的用戶概念,系統(tǒng)的訪問(wèn)者
    Security Manager : 具體的操作執(zhí)行都是在這個(gè)類,安全管理器
    Realm : 存儲(chǔ)安全數(shù)據(jù)的, 具體的角色權(quán)限都是用這個(gè)表示
  • 我們直面的操作都是 subject, 但是 subject 的背后是security manager 來(lái)具體掌控
  • realm 需要自己注入,也就是規(guī)則要實(shí)現(xiàn)確定下來(lái), 管理器才好判斷具體的權(quán)限規(guī)則
    再次重點(diǎn) : Shiro 里面本身沒(méi)有權(quán)限規(guī)則,需要自己注入
    Shiro 本身的內(nèi)部架構(gòu):
    內(nèi)部架構(gòu)

    Subject : 主體, 交互的用戶
    Security Manager : 安全管理器,看著就是最大的,也就是最重要的吧,Shiro 的中心,什么都是他來(lái)執(zhí)行
    Authenticator : 認(rèn)證, 可以自定義認(rèn)證的策略,就是怎么樣算是認(rèn)證通過(guò)了
    Authorizer : 授權(quán), 決定權(quán)限是不是授予
    Realm : 安全數(shù)據(jù), 安全實(shí)體,需要用戶自己來(lái)實(shí)現(xiàn)
    Session Manager : 會(huì)話管理,只要是Web肯定都是需要管理會(huì)話的
    Session DAO : 存在數(shù)據(jù)庫(kù)的會(huì)話信息, 訪問(wèn)需要一個(gè)中間層
    Cache Manager : 緩存, 很少更改的信息,比如安全的規(guī)則數(shù)據(jù),就可以放在緩存里面,訪問(wèn)就會(huì)快很多了
    Cryptography : 加密解密模塊
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.簡(jiǎn)介 Apache Shiro是Java的一個(gè)安全框架。功能強(qiáng)大,使用簡(jiǎn)單的Java安全框架,它為開(kāi)發(fā)人員提供...
    H_Man閱讀 3,253評(píng)論 4 47
  • Shiro(代碼) 1.1 簡(jiǎn)介 Apache Shiro是Java的一個(gè)安全框架。目前,使用Apache Shi...
    ZZS_簡(jiǎn)閱讀 525評(píng)論 0 0
  • Apache Shiro是Java的一個(gè)安全框架。目前,使用Apache Shiro的人越來(lái)越多,因?yàn)樗喈?dāng)簡(jiǎn)單,...
    愛(ài)動(dòng)腦的程序員閱讀 483評(píng)論 0 1
  • 前言 Spring boot 是什么,網(wǎng)上的很多介紹,這里博客就不多介紹了。如果不明白Spring boot是什么...
    xuezhijian閱讀 18,017評(píng)論 13 39
  • 瘦影清奇蕊似金, 霜濃雁去又秋深。 應(yīng)時(shí)快意邀輕酌, 適節(jié)舒心對(duì)淺吟。 我繼南山陶令志, 花知鬧市逸民音。 酬君但...
    屾山泉鳴閱讀 257評(píng)論 0 2

友情鏈接更多精彩內(nèi)容