一、Apache Shiro简介

1、简介

一个安全性框架

特点:功能丰富、使用简单、运行独立


核心功能:

Authentication(认证):你是谁?

Authorization(授权):谁能干什么?

Session Management(Session管理):基于user、普通Java环境/Web环境

Cryprography(加密):加密算法

辅助功能:

Web Support:提供面向Web系统API

Caching:确保安全性操作快速有效

Concurrency:支持多线程并发验证

Testing:支持单元测试/集成测试

Run As:模拟角色

Remember Me:跨Session,如购物车

2、架构

整体架构

Subject:当前用户的视图;包括实体/逻辑用户

SecurityManager:核心;协调各个安全组件的门面

Realms:应用和Shiro之间安全性数据的连接器;安全性DAO

应用开发过程

应用代码通过Subject进行认证和授权,而Subject又委托给SecurityManager

应用代码往SecurityManager注入Realm,确保其能得到合法的用户及其权限

Shiro不提供维护用户/权限,而是通过Realm让开发人员自己注入

详细架构

Subject:主体对象,任何可以与应用交互的“用户”

SecurityManager:系统交互都通过SecurityManager进行统一控制

Authenticator:认证器,提供扩展点供自定义实现

Authorizer:授权器(访问控制器),决定主体对操作是否有权限

SessionManager:Session交互的抽象,支持不同环境下的分布式交互

SessionDao:Session数据访问对象

Cache:缓存控制器,管理如用户、角色、权限等的缓存

Cryptography:加密/解密组件

Realms:安全实体数据源,一个或多个;也可以自定义实现

4、SecurityManager

内部协调性组件:线程安全;实例化消耗资源,推荐使用单例、全局;根对象,Shiro对象导航

使用SecurityUtils工具类获取SecurityManager

【Shiro】一、Apache Shiro简介的更多相关文章

  1. 【Shiro】Apache Shiro架构之自定义realm

    [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache S ...

  2. 【Shiro】Apache Shiro架构之集成web

    Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之权限认证(Authorization) [Shi ...

  3. 【Shiro】Apache Shiro架构之权限认证(Authorization)

    Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shir ...

  4. 【Shiro】Apache Shiro架构之身份认证(Authentication)

    Shiro系列文章: [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shiro ...

  5. [转载] 【Shiro】Apache Shiro架构之实际运用(整合到Spring中)

    写在前面:前面陆陆续续对Shiro的使用做了一些总结,如题,这篇博文主要是总结一下如何将Shiro运用到实际项目中,也就是将Shiro整到Spring中进行开发.后来想想既然要整,就索性把Spring ...

  6. 25. Apache Shiro Java反序列化漏洞

    前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...

  7. 让Apache Shiro保护你的应用

    在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方 ...

  8. Apache Shiro 手册

    (一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录 ...

  9. Apache Shiro 使用手册---转载

    原文地址:http://www.360doc.com/content/12/0104/13/834950_177177202.shtml (一)Shiro架构介绍 一.什么是Shiro Apache ...

  10. Apache Shiro 使用手册

    http://kdboy.iteye.com/blog/1154644 (一)Shiro架构介绍 一.什么是Shiro  Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加 ...

随机推荐

  1. vue基础八

    表单控件绑定 1.基础用法 你可以用 v-model 指令在表单控件元素上创建双向数据绑定.尽管有些神奇,但 v-model 本质上不过是语法糖,它负责监听用户的输入事件以更新数据,并特别处理一些极端 ...

  2. Cent OS 7下安装 mongodb

    1.下载MongoDB 安装包 wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.8.tgz 2.解压并安装 .tgz 3. ...

  3. (55)C# windows 消息

    窗体捕获消息 namespace WindowsFormsApp1 { public partial class Form1 : Form { public Form1() { InitializeC ...

  4. git 远程库和本地库处理

    创建git库的方法 第一种方法: 在码云建立一个demo的git库.git clone在本地一个文件夹.之后会出现在.git的目录下方(这是clone而非pull切记分清楚) 而不是在.git的上一层 ...

  5. 在使用 Eclisp 生成 实体(sql Server) 出现错误 :Unable to locate JAR/zip in file system as specified by the driver definition: sqljdbc.jar.

    错误: 解决方法: 第一步:点击 JAR List 第二步:  点击  Remove  JAR/ZIP 第三步: 再添加一下 sqljdbc.jar

  6. SQLserver服务无法启动

    今天调整了一下sqlserver tcp/ip 网络协议,重启生效时,SQLserver服务无法启动. 搞了一天都没发现问题,准备重装,发现也比较麻烦.看了日志,网上查了一堆解决方案,均没有. 后台发 ...

  7. Eclipes更改字体颜色

    有图有真像 更改字体大小

  8. css点击高亮

    .btn-default:active:focus, .btn-default:active:hover { color: #333; background-color:lightseagreen; ...

  9. 使用mybatis进行一对多嵌套查询时出错:输出结果:Country{id=2, name='美国', minister=[null]}

    即Minister类作为Country类的关联属性. 查询的输出结果是:Country{id=2, name='美国', minister=[null]} <!--mapper.xml内容--& ...

  10. 【转载】github 查找最火项目

    博主感觉这篇文章很有用,很方便所以转载过来学习学习. 原文链接地址https://www.cnblogs.com/poterliu/p/10634568.html 如何在github上查找star最多 ...