什么是Shiro

Apache Shiro是一个强大且灵活的开源安全框架,易于使用且好理解,撇开了搭建安全框架时的复杂性。

Shiro可以帮助我们做以下几件事:

  • 认证使用者的身份
  • 提供用户的访问控制,比如:
    • 决定一个用户是否被授予某个特定的安全角色
    • 决定用户是否允许做某件事
  • 可以在任何环境中使用Session API,不在局限于web或是EJB容器中
  • 可以在认证,访问控制或是session的生命周期的期间中对特定事件产生反应
  • 可以整合多个数据源的用户安全数据到一个统一的用户视图中
  • 支持单点登录
  • 支持'记住我'功能

    等等

Apache Shiro的特征

下图展示了Shiro主要的特征:

Primary Cocnerns(基本关注点):Authentication(认证),Authorization(授权),Session Management(会话管理),Cryptography(加密)。

  • Authentication(认证):经常和登录挂钩,是证明用户说他们是谁的一个工作
  • Authorization(授权):访问控制的过程,即,决定‘谁’可以访问‘什么
  • Session Management(会话管理):管理用户特定的会话,即使在非web或是EJB的应用中
  • Crytography(加密):通过加密算法保证数据的安全,且易于使用

Supporting Features(辅助特性):

  • Web Support(网络支持):web support API可以帮助在web应用中方便的使用shiro
  • Caching(缓存):保证安全操作使用快速有效
  • Concurrency(并发):支持多线程应用
  • Testing(测试):支持集成单元测试
  • “Run As”(以..运行):可以假定用户为另一个用户
  • “Remeber Me”:记住用户,无需再次登录

Authentication和Authenticator的主要流程

  • Authentication(认证):

    与认证流程相关的Shiro各对象关系如下:

以更加清晰的流程图对应上述的步骤:

  • Authenticator(授权): 与授权相关的Shiro个对象关系如下:

换成流程图对应上述的步骤:

Shiro(一):Shiro介绍及主要流程的更多相关文章

  1. Shiro权限管理框架(三):Shiro中权限过滤器的初始化流程和实现原理

    本篇是Shiro系列第三篇,Shiro中的过滤器初始化流程和实现原理.Shiro基于URL的权限控制是通过Filter实现的,本篇从我们注入的ShiroFilterFactoryBean开始入手,翻看 ...

  2. Shiro (Shiro + JWT + SpringBoot应用)

    Shiro (Shiro + JWT + SpringBoot应用) 目录 Shiro (Shiro + JWT + SpringBoot应用) 1.Shiro的简介 2.Shiro + JWT + ...

  3. Fixflow引擎解析(一)(介绍) - Fixflow开源流程引擎介绍

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  4. html5/css3响应式布局介绍及设计流程

    html5/css3响应式布局介绍 html5/css3响应式布局介绍及设计流程,利用css3的media query媒体查询功能.移动终端一般都是对css3支持比较好的高级浏览器不需要考虑响应式布局 ...

  5. SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能

    SpringMVC整合Shiro,Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能. 第一步:配置web.xml <!-- 配置Shiro过滤器,先让Shiro ...

  6. 计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动

    原文地址:4.计算机启动过程的简单介绍 计算机启动流程 计算机BIOS作用 POST 开机自检 计算机启动顺序 分区表 操作系统启动 计算机的启动

  7. Apache shiro的简单介绍与使用(与spring整合使用)

    apache shiro框架简介 Apache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密.现在,使用Apache Shiro的人越来越多,因为它 ...

  8. Apache shiro的简单介绍与使用(与spring整合使用,并加入ehcache缓存权限数据)

    apache shiro框架简介 Apache Shiro是一个强大而灵活的开源安全框架,它能够干净利落地处理身份认证,授权,企业会话管理和加密.现在,使用Apache Shiro的人越来越多,因为它 ...

  9. shiro简单入门介绍

    shiro是apache的一个java安全框架 可以完成认证,授权,加密,会话管理,基于web继承,缓存等 功能简介: 从外部来看: shiro架构  Subject:主体,代表了当前“用户”,这个用 ...

随机推荐

  1. VLAN、Trunk,以太通道及DHCP

    VLAN.Trunk,以太通道及DHCP 案例1:Vlan的划分 案例2:配置trunk中继链路 案例3:以太通道配置 案例4:DHCP服务配置 1 案例1:Vlan的划分 1.1 问题 VLAN(虚 ...

  2. post登录 jsessionid 以及cookie 传递

    先配置登录接口请求 登录成功后: 再其它请求中设置

  3. 记一次mysql多表查询(left jion)优化案例

    一次mysql多表查询(left jion)优化案例 在新上线的供需模块中,发现某一个查询按钮点击后,出不来结果,找到该按钮对应sql手动执行,发现需要20-30秒才能出结果,所以服务端程序判断超时, ...

  4. 路由与交换,cisco路由器配置,基础知识点(一)

    基础知识点 1.路由器与交换机端口初始化区别 路由器的所有接口默认都是关闭的 交换机的所有接口默认都是打开的 2.路由器 fastEthernet 端口 fastEthernet 0/0 第一个0代表 ...

  5. coding++:漫画版-了解什么是分布式事务?

    —————  第二天  ————— ———————————— 假如没有分布式事务: 在一系列微服务系统当中,假如不存在分布式事务,会发生什么呢?让我们以互联网中常用的交易业务为例子: 上图中包含了库存 ...

  6. "五号标题"组件:<h5> —— 快应用组件库H-UI

     <import name="h5" src="../Common/ui/h-ui/text/c_h5"></import> < ...

  7. matplotlib TransformWrapper

    2020-04-09 23:26:53 --Edit by yangray TransformWrapper 是Transform的子类, 支持在运行中替掉一个变换(可以是不同类型, 但维度必须相同) ...

  8. Mac 窗口管理软件 Spectacle

    我个人使用的窗口管理软件是 Magnet(本人在 Mac 下付费的首款软件,记得是 6 元~),今天为大家介绍一款类似的开源软件. 简介 Spectacle 是一款可以快速调整窗口大小与位置的开源软件 ...

  9. Windows下如何将一个程序设为开机自启

    1.放在  开始-启动(C:\Users\Qi\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)2.修改注册表[HKEY_L ...

  10. string 中的getline

    1 getline 读入string库中的字符串 string a; getline(cin,a);  这样的读入要比任何一种读入字符串都有要快 2 char a[N]; cin.getline(a, ...