【Shiro】一、Apache Shiro简介
一、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简介的更多相关文章
- 【Shiro】Apache Shiro架构之自定义realm
[Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache S ...
- 【Shiro】Apache Shiro架构之集成web
Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之权限认证(Authorization) [Shi ...
- 【Shiro】Apache Shiro架构之权限认证(Authorization)
Shiro系列文章: [Shiro]Apache Shiro架构之身份认证(Authentication) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shir ...
- 【Shiro】Apache Shiro架构之身份认证(Authentication)
Shiro系列文章: [Shiro]Apache Shiro架构之权限认证(Authorization) [Shiro]Apache Shiro架构之集成web [Shiro]Apache Shiro ...
- [转载] 【Shiro】Apache Shiro架构之实际运用(整合到Spring中)
写在前面:前面陆陆续续对Shiro的使用做了一些总结,如题,这篇博文主要是总结一下如何将Shiro运用到实际项目中,也就是将Shiro整到Spring中进行开发.后来想想既然要整,就索性把Spring ...
- 25. Apache Shiro Java反序列化漏洞
前言: 最近在审核漏洞的时候,发现尽管Apache shiro这个反序列化漏洞爆出来好久了,但是由于漏洞特征不明显,并且shiro这个组件之前很少听说,导致大厂很多服务还存在shiro反序列化的漏洞, ...
- 让Apache Shiro保护你的应用
在尝试保护你的应用时,你是否有过挫败感?是否觉得现有的Java安全解决方案难以使用,只会让你更糊涂?本文介绍的Apache Shiro,是一个不同寻常的Java安全框架,为保护应用提供了简单而强大的方 ...
- Apache Shiro 手册
(一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能: 认证 - 用户身份识别,常被称为用户"登录 ...
- Apache Shiro 使用手册---转载
原文地址:http://www.360doc.com/content/12/0104/13/834950_177177202.shtml (一)Shiro架构介绍 一.什么是Shiro Apache ...
- Apache Shiro 使用手册
http://kdboy.iteye.com/blog/1154644 (一)Shiro架构介绍 一.什么是Shiro Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加 ...
随机推荐
- UVa 11384 (推公式+递归)
题目: 给你1到n,现在让你将每个数变成0,每一步操作可以选取任意数一起减去一个整数,减完了不能为负数!问你最少需要几步? 巨水的题,然而为什么要写博客呢?提醒自己要记得递归函数,不要傻傻的开数组硬比 ...
- vue基础七
事件处理器 1.监听事件 可以用 v-on 指令监听 DOM 事件来触发一些 JavaScript 代码. <div id="example-1"> <butto ...
- horizontalAccuracy 检测定位成功
- (void)findCurrentLocation { self.isFirstUpdate = YES; [self.locationManager startUpdatingLocation] ...
- iOS 109个Demo范例
https://github.com/subdigital/nsscreencast 版权声明:本文为博主原创文章,未经博主允许不得转载.
- promise基础用法
/** * Created by liyinghao on 2016/11/6. */ const fs = require('fs'); /* * 新建一个Promise对象,Promise就是一个 ...
- python学习笔记:接口开发——PythonWEB框架之Flask
Flask是一个使用 Python 编写的轻量级 Web 应用框架,安装命令如下 pip install flask 一.服务端接口是怎么开发的? 1.启动一个服务 2.接收到客户端传过来的数据3.登 ...
- spring配置mybatis的sqlsessionfactory
<!--读入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.bean ...
- ZABBIX 忘记登录密码
ZABBIX 忘记登录密码 摘要 有些童鞋会忘记zabbix的登陆密码,今天给大家写一篇找回登陆密码~ ZABBIX 忘记登录密码 zabbix 刚刚在群里吹牛逼,由于账号比较多,脑子容易 ...
- USACO Milk Routing /// 优先队列广搜
题目大意: 在n个点 m条边的无向图中 需要运送X单位牛奶 每条边有隐患L和容量C 则这条边上花费时间为 L+X/C 求从点1到点n的最小花费 优先队列维护 L+X/C 最小 广搜到点n #inclu ...
- linux终端命令行缩短显示路径
1,修改.bashrc文件(用户根目录下) vim 打开.bashrc文件,找到如下这行: else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ...