Shiro框架

权限管理

  对用户访问系统的控制,按照安全规则或安全策略控制用户可以访问而且只能访问自己被授权的资源。

  权限管理包括用户身份认证和授权两部分,简称认证授权。

  Shiro是apache旗下一个开源框架,它将软件系统的安全认证相关的功能抽取出来,实现用户身份认证,权限授权、加密、会话管理等功能,组成了一个通用

安全认证框架。官方网址:http://shiro.apache.org/

  1.5.3.realease 202005版本

  核心,web集成,三方工具集成

架构图

 

关键词

1. Subject

  主体外部应用于subject进行交互。Subject在shiro中是一个接口。外部程序通过subject进行认证授权,而subject是通过SecurityManager安全管理器进行授权。

2. SecurityManager

  一切功能的入口,安全管理器,对全部的subject进行安全管理,shiro的核心。SecurityManager可以完成subject的认证、授权。SecurityManager是通过Authenticator进行认证。通过Authorizer进行授权,通过SessionManager进行会话管理。

3. Authenticator

  认证器,对用户身份进行认证,Authenticator是一个接口,shiro提供ModularRealmAuthenticator实现类,可以自定义认证器

4. Authorizer

  授权器,用户通过认证器认证器认证通过,在访问功能时需要通过授权器判断用户是否有此功能的操作权限

5. Realm

  领域,相当于datasource数据源,通常做测试的时候会把账号,密码,授权的资源放在Realm中。但实际开发需要数据库中索取,变量传递。

  注意:不要把realm理解成只从数据源中取数据,在realm中还有认证授权校验的相关代码。 

6. SessionManager

  会话管理,shiro定义了一套会话管理,他不依赖web容器的session,所以shiro可以使用在非web、应用上,也可以将分布式应用在会话集中在一点管理,此特性可使它实现单点登录。

7. SessionDao

  会话dao,对session会话操作的一套接口,比如将session存储到数据库,可以通过jdbc将会话存储到数据库。

8. CacheManager

  缓存管理,将用户权限数据存储到缓存,这样可以提高性能。

9. Cryptography

   密码管理,shiro提供了一套加密/解密的组件,方便开发。比如常提供的散列,加/解密的功能。

posted @   上天安排的最大嘛!  阅读(122)  评论(0编辑  收藏  举报
编辑推荐:
· 智能桌面机器人:用.NET IoT库控制舵机并多方法播放表情
· Linux glibc自带哈希表的用例及性能测试
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
阅读排行:
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· DeepSeek火爆全网,官网宕机?本地部署一个随便玩「LLM探索」
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 上周热点回顾(1.20-1.26)
点击右上角即可分享
微信分享提示