Shiro实战1-介绍
什么是 Shiro
官网:http://shiro.apache.org/
shiro是一款主流的 Java 安全框架,不依赖任何容器,可以运行在 Java SE和 Java EE 项目中,它的主要作用是对访问系统的用户进行身份认证、授权、会话管理、加密等操作。
Shiro 就是用来解决安全管理的系统化框架。
总体架构
核心功能
- 认证Authentication
- 授权Authorization
- 会话管理
- 加密
- 缓存
用户信息、角色、权限等缓存到如redis等缓存中
- Web集成支持
- 测试支持
- 记住我
核心组件
1、UsernamePasswordToken,Shiro 用来封装用户登录信息,使用用户的登录信息来创建令牌 Token。
2、SecurityManager,Shiro 的核心部分,负责安全认证和授权。
3、Suject,Shiro 的一个抽象概念,包含了用户信息。
4、Realm,开发者自定义的模块,根据项目的需求,验证和授权的逻辑全部写在 Realm 中。
5、AuthenticationInfo,用户的角色信息集合,认证时使用。
6、AuthorzationInfo,角色的权限信息集合,授权时使用。
7、DefaultWebSecurityManager,安全管理器,开发者自定义的Realm 需要注入到 DefaultWebSecurityManager 进行管理才能生效。
8、ShiroFilterFactoryBean,过滤器工厂,Shiro 的基本运行机制是开发者定制规则,Shiro 去执行,具体的执行操作就是由ShiroFilterFactoryBean 创建的一个个 Filter 对象来完成。
认证过程
1.收集身份和令牌(用户名/密码)
//Example using most common scenario of username/password pair:
UsernamePasswordToken token = new UsernamePasswordToken(username, password);//"Remember Me" built-in:
token.setRememberMe(true);
2.提交身份和令牌
Subject currentUser = SecurityUtils.getSubject();currentUser.login(token);
3.处理认证成功和失败
try {currentUser.login(token);
} catch ( UnknownAccountException uae ) { ...
} catch ( IncorrectCredentialsException ice ) { ...
} catch ( LockedAccountException lae ) { ...
} catch ( ExcessiveAttemptsException eae ) { ...
} ... catch your own ...
} catch ( AuthenticationException ae ) {//unexpected error?
}//No problems, continue on as expected...
更详细的认证请参考
http://shiro.apache.org/authentication.html#authentication-sequence
Shiro实战1-介绍相关推荐
- Shiro 实战教程
Shiro 实战教程 1.权限的管理 1.1 什么是权限管理 基本上涉及到用户参与的系统都要进行权限管理,权限管理属于系统安全的范畴,权限管理实现对用户访问系统的控制,按照安全规则或者安全策略控制 ...
- XCP实战系列介绍04-CANape工程配置超详细介绍
本文框架 1.概述 2.新建CANape工程 3. Device配置 3.1 新建Device 3.2 输入Device名称 3.3 配置Network 3.4 选择A2l文件 3.5 确认报文ID与 ...
- XCP实战系列介绍06-CANape标定及标定后hex生成操作指导
本文框架 1.概述 2. CANape工程建立 3. XCP标定及后处理介绍 3.1 CANape标定 3.2 标定数据保存 3.3保存标定结果到原hex 3.4 将标定结果copy到hex中 3.5 ...
- XCP实战系列介绍10-基于CANoe实现XCP测量功能详细介绍
本文框架 1.概述 2. 使用指导 2.1 使用前提 2.2 获取变量地址 2.3 建立XCP通讯 2.4 发送需观测变量的地址及数据长度 2.5 读取应答数据 3. 操作流程汇总 1.概述 在前面一 ...
- XCP实战系列介绍03-英飞凌TC3xx芯片Overlay概述及开发过程介绍
本文框架 1.概述 2. Overlay相关寄存器介绍 2.1 全局寄存器 2.2 单独Block相关寄存器 3. 基于TC3xx芯片Overlay的开发流程 3.1 开发流程及操作汇总 3.2 开发 ...
- shiro实战系列(一)之入门实战
一.什么是shiro? Apache Shiro 是一个强大而灵活的开源安全框架,它干净利落地处理身份认证,授权,企业会话管理和加密. Apache Shiro 的首要目标是易于使用和理解.安全有 ...
- .NET Core IdentityServer4实战-开篇介绍与规划
一.开篇寄语 由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的 ...
- shiro简单入门介绍
shiro是apache的一个java安全框架 可以完成认证,授权,加密,会话管理,基于web继承,缓存等 功能简介: 从外部来看: shiro架构 Subject:主体,代表了当前"用户 ...
- Session(数据)共享的前后端分离Shiro实战
1,前言 本文期望描述如何使用Shiro构建基本的安全登录和权限验证.本文实战场景有如下特殊需求:1,在集群和分布式环境实现session共享:2,前端只使用HTML/CSS/JS.因此无法直接使用S ...
- Shiro 实战教程(全)
目录 1.权限的管理 1.1 什么是权限管理 1.2 什么是身份认证 1.3 什么是授权 2.什么是shiro 3.shiro的核心架构 3.1 Subject 3.2 SecurityManager ...
最新文章
- 005_Buzz播放音频
- android 安装步骤
- Eclipse配置工程自动执行ant实现热部署
- Java代理初学者指南
- 实现DIV居中布局三种途径(转)
- orchard文档之-搜索和索引
- Python制作代码雨
- tcpdf不支持html,TCPDF:无法从HTML输入生成PDF文件
- 【手把手教你】使用QuantLib进行债券估值和期权定价分析
- 【jQuery】货币格式化
- 公开课分享《如何快速有效地编写一份商业计划书》
- APP发布的三个证书作用
- macOS 和 Linux 有什么区别?
- 自适应模糊PID控制算法
- MOSFET的SOA或者ASO是什么?
- 云南工程职业学院计算机网址,云南工程职业学院欢迎您(2020)
- 周五IT程序员科技段子
- Spark jar not loaded. Offending class: javax/servlet/Servlet.class
- Python基础-Python基础使用
- 双重差分法(DID)入门必看