强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan

一、作用简介

Apache Shiro是一个强大且易用的Java安全框架,可以执行身份验证、授权、密码学和会话管理。

二、功能简介

  • Authentication:身份认证/登录,验证用户是不是拥有相应的身份。
  • Authorization:授权,即权限认证,验证某个已认证的用户是否拥有某个权限,即判断用户是否能进行什么操作,如:验证某个用户是否拥有某个角色,某个用户是否拥有某个资源的权限。
  • Session Management:会话管理,即用户登录后就是一次会话,在没有退出之前,他的所有信息都在会话中。
  • Cryptography:加密,保护数据的安全性,如:密码加密存储到数据库,而不是明文存储,而且加密后的密码是不可逆的
  • Web Support:Web支持,可以非常容易的集成到Web环境
  • Caching:缓存,如,用户登录后用户信息,拥有的角色/权限不必每次都去数据库查询,可以提高效率,我们也可以协同Redis实现缓存用户信息
  • Concurrency:Shiro支持多线程应用的并发验证,即如在一个线程中开启另一个线程,能把权限自动传播过去
  • Testing:提供测试支持
  • Run As:允许一个用户假装为另一个用户的身份进行访问
  • Remember Me:记住我,一次登录后,下次再来访问就不用登录了

三、架构简介

1.Shiro架构(从应用程序角度观察)

  • Subject:主体,代表当前的用户,可以是人,也可以是第三方程序,即与应用交互的都可称为Subject
  • SecurityManager:安全管理器,Subject只是一个门面,具体的执行者是SecurityManager,它是Shiro的核心
  • Realm:域,Shiro从Realm获取安全数据,SecurityManager要验证用户时需要从Realm获取相应的用户进行比较用户身份是否合法,也需要从Realm获取用户相应的角色,权限进行验证用户是否能进行操作。Realm即是一个安全数据源

2.Shiro架构(从Shiro自身观察)

  • Subject:任何可以与应用交互的"用户"
  • SecurityManager:相当于SpringMVC的DispatcherServlet,是Shiro的心脏,所有具体的交互都通过SecurityManager进行控制,它管理所有Subject,且负责进行认证,授权,会话及缓存的管理。
  • Authenticator:负责Subject认证,可以使用认证策略
  • Authorizer:授权器,即访问控制器,用来决定主体是否有权限进行相应的操作,即控制着用户能访问应用中的哪些功能
  • SessionManager:管理session生命周期的组件
  • CacheManager:缓存控制器,来管理如用户,角色,权限等的缓存
  • Cryptography:密码模块

Shiro(1)--Shiro简介相关推荐

  1. “动吧“ - crud 练习 part7 - Shiro安全框架简介 - 58~60 - 、[扩展] - 动态菜单 - 60

    名词: ------------------------------------------- subject - 主体.起因 - (登录到==>登录成功后 , 全部的记录) principal ...

  2. Shiro框架的简介

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

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

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

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

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

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

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

  6. 【Shiro】shiro的Session管理

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

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

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

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

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

  9. Shiro安全框架-简介

    1. 简介 Apache Shiro是Java的一个安全框架.功能强大,使用简单的Java安全框架,它为开发人员提供一个直观而全面的认证,授权,加密及会话管理的解决方案. 实际上,Shiro的主要功能 ...

最新文章

  1. 夏天来了,你的数据中心应该跟着热起来
  2. 电脑插个“U盘”就能给基因测序,实时查看结果,售价1000美元
  3. 8.腾讯微博Android客户端开发——自动获取验证码(2)
  4. 6.最小角回归(Least Angle Regression)
  5. OpenCV使用Facemark API
  6. 可以发外链的网站_SEO分享:网站推广的四大推广方法
  7. python训练词库_在Python中训练NGramModel
  8. 阿里巴巴对Java编程【异常处理】的规约
  9. 数据湖 数据仓库 数据集市_还原数据仓库/数据集市环境的两种方法
  10. 删除表数据有两种方法及区别
  11. OFBiz + Opentaps 目录管理 四. 产品(四)礼券
  12. C# 打开指定文件夹下的excel
  13. oracle解析关闭,读书笔记:深入解析oracle-第一章 数据库的启动和关闭
  14. linux 中meltdown指令,用代码切身实践体会meltdown漏洞——初学者的体验感受
  15. redhat 8常用命令实践
  16. GAN二次元头像生成Pytorch实现(附完整代码)
  17. 如何进行用户留存分析
  18. 趣店财报:最会赚钱的趣店亏了
  19. SQL Server 异常 COM 类公司中CLSID 为 {10021F00-E260-11CF-AE68-00AA004A34D5} 的组件时失败,原因是出现以下错误: 80040154
  20. gis差值分析_arcgis中七种插值方法的对比分析

热门文章

  1. java获取北京时间系统时间全球各地时间。
  2. 【转】笔记本电脑开机电源指示灯亮,但黑屏,风扇不转,无任何运行迹象!...
  3. 罗马仕荣获中国质量认证中心、CESI颁发的全国首批“双新认证”证书
  4. 透视与3D(3D立方体)
  5. 机器学习(1)——周志华
  6. 国外知名音视频领域的科技公司
  7. 2021衡阳田家炳高考成绩查询,2021年衡阳高考最高分多少分,历年衡阳高考状元
  8. 车管所服务器维护还能考科目四吗,车管所可以预约科目四吗
  9. 岸上的猫和水里的老鼠
  10. 华为机考,华为笔试,软件类,2020年8月19日题目,超详细解答。