什么是Apache Shiro?

Apache的强大灵活的开源安全框架
可以完成认证,授权,企业会话管理,安全加密等功能


Shiro与Spring Security比较

Apache Shiro:shiro不依赖于spring,可脱离Spring,简单灵活,shiro不仅可以实现web应用的权限管理,还可以实现c/s系统,分布式系统权限管理,shiro属于轻量框架,目前使用率广泛。
Spring Security:比较复杂笨重,不能脱离了Spring单独使用。


Shiro架构

  • subject:主体,可以是用户也可以是程序,主体要访问系统,系统需要对主体进行认证、授权。

  • securityManager:安全管理器,主体进行认证和授权都是通过securityManager进行。

  • authenticator: 认证器,主体进行认证最终通过authenticator进行的。

  • sessionManager:web应用中一般是用web容器对session进行管理,shiro也提供一套session管理的方式。

  • sessionDao:通过sessionDao管理session数据。

  • cacheManager:缓存管理器,主要对session和授权数据进行缓存,比如将授权数据通过cacheManager进行缓存管理,和 ehcache整合对缓存数据进行管理。

  • realm:领域,相当于数据源,通过realm存取认证、授权相关数据。realm是用户的信息认证器和用户的权限认证器,我们需要自己来实现Realms来自定义的管理我们自己系统内部的权限规则。

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


Shiro相关jar包

shiro-core是核心包必选选项,还提供了与web整合的、与spring整合的shiro-spring、与任务调度quarz整合的shiro-quartz等。下面是shiro各jar包的maven坐标。

<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.2.3</version>
</dependency>
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-web</artifactId><version>1.2.3</version>
</dependency>
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.2.3</version>
</dependency>
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-ehcache</artifactId><version>1.2.3</version>
</dependency>
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-quartz</artifactId><version>1.2.3</version>
</dependency>

下一节详细介绍Shiro的认证。

Shiro(一)——Shiro概述相关推荐

  1. Shiro <shiro:hasPermission >标签不生效,shiro权限不生效原因

    第一个可能配置文件:shiroConfig.java没加这个 /*** 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使 ...

  2. shiro框架---shiro配置介绍(一)

    接上一篇文章shiro框架-通过系统介绍shiro框架中的实现逻辑   项目已分享到GitHub上,如果需要的可以看下,springboot+shiro项目Git下载地址. shiro在springb ...

  3. Day374.shiro授权Shiro+jsp整合Springboot -Shiro

    Shiro授权 一.授权 授权,即访问控制,控制谁能访问哪些资源.主体进行身份认证后需要分配权限方可访问系统的资源,对于某些资源没有权限是无法访问的. 二.关键对象 授权可简单理解为who对what( ...

  4. 【Shiro】shiro的Session管理

    [Shiro]shiro的Session管理 1. Session管理介绍 2. JavaSE环境下 3. JavaEE环境下 4. Session监听 5. Session检测 1. Session ...

  5. 什么是shiro?Shiro能干嘛?

    1, 什么是shiro Apache Shiro 是Java 的一个安全框架.Shiro 可以非常容易的开发出足够好的应用,其不仅可以用在JavaSE 环境,也可以用在JavaEE 环境.Shiro ...

  6. Shiro <shiro:hasPermission 标签不生效,shiro权限不生效原因

    第一个可能配置文件:shiroConfig.java没加这个 /*** 开启Shiro的注解(如@RequiresRoles,@RequiresPermissions),需借助SpringAOP扫描使 ...

  7. Shiro.ini文件概述

    1,Shiro.ini文件的说明 1. ini (InitializationFile) 初始文件.Window系统文件扩展名. 2. Shiro 使用时可以连接数据库,也可以不连接数据库. 2.1 ...

  8. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)EHCache版本

    一.Shiro简介 Apache Shiro 是 Java  的一个安全框架.我们经常看到它被拿来和 Spring  的 Security  来对比.大部分人认为 Shiro  比 Security  ...

  9. [Shiro教程] Shiro 教程基于SSM(SpringMVC + Spring + Mybatis)

    一.Shiro简介 Apache Shiro 是 Java  的一个安全框架.我们经常看到它被拿来和 Spring  的 Security  来对比.大部分人认为 Shiro  比 Security  ...

  10. php中引入shiro,基于shiro的自定义注解的扩展-图文详解

    基于shiro的自定义注解的扩展 这里我们主要采取了shiro的自定义注解的方案.本篇文章主要解决以下的问题.如何通过逻辑进行页面与api接口的关联. shiro的自身注解的用法. 如何编写自定义注解 ...

最新文章

  1. CentOS 7安装gitlab服务器
  2. RollingFileAppender
  3. 屏蔽机房设计时需要注意什么 ?如何更好维护使用屏蔽机房?
  4. 带你深入探究云原生时代的分布式操作系统 Kubernetes
  5. 雷军晒3亿估值,意欲“收编”台湾硬件创业者?
  6. java 读取mysql数据库_原生Java操作mysql数据库过程解析
  7. StyleCop学习笔记——初识StyleCop
  8. 问题:jquery中的change()事件,以及jquery中的prop()事件与attr()事件的区别
  9. 格雷希尔快速密封接头在燃油泵密封性能检测的作用
  10. 机器学习推导中常用的求导公式
  11. 万字综述:如何打造自动驾驶的数据闭环?
  12. Wireshark 64位中文版(抓包工具)
  13. 卓越风险管理 护航普惠金融
  14. SSM基于java的线上阅读平台的设计与实现 毕业设计-附源码291023
  15. 再谈搜索已死,推荐上位
  16. php中文数组按拼音排序问题
  17. LWN: 名为 Sequoia 的 seq_file 漏洞!
  18. 读刘文鹏之《古代埃及史》
  19. 计算机知识和应用技能,计算机实用技能及应用
  20. 总问南京配眼镜哪里性价比高,不妨看南京眼镜店推荐榜单

热门文章

  1. 语音识别基本原理介绍之gmm-hmm续
  2. android studio | openGL es 3.0增强现实(AR)开发 (2) .so文件的应用和理解
  3. LaTeX中的魔法注释
  4. linux edi esi eax 汇编指令,汇编指令lodsb和stosb、lodsd和stosd
  5. python程序化设计正则表达式语法_基于python的正则表达式学习笔记
  6. sklearn聚类模型评估代码_2019-10-16 机器学习-聚类算法-K-means(K-均值聚类)-原理解析-代码实现(Scikit-learn)...
  7. PHP面试题(二)---百度
  8. EPPlus.Core 1.5.4 报错 font '?' cannot be found docker core运行时2.1.0 alpine镜像 缺失微软字体...
  9. gis数据与cad数据转换之间的关系
  10. Java_基础_fail-fast