shiro+springboot分析思路
前言
shiro和spring security等安全框架可以用户管理和权限认证
一、为什么要使用shiro
我们以前在不适用shiro框架之前,比如一个web项目,我们是怎么实现权限判断的呢?
首先访问login.jsp或者login.html登录页面
我们只是通过用户登录的用户名和密码进行判断,看是否和数据库中保存的数据一致,如果一致就能看到主页面,这最多是实现了用户的认证,对于授权无法进行实现

而如果我们想要使用授权等更为安全的操作,就得使用安全框架了,比如shiro和spring security;那我们怎么完成授权得操作呢?
我们可以在用户认证成功之后,会登录到主页面;首先我们应该拦截用户所有的请求,然后进行shiro授权操作,如果有该权限就允许通过,否则不通过;这时我们就可以想到Java中的拦截器了,没错,这正是使用了拦截器,在拦截器中进行shiro授权操作;肯定是使用shiro中的拦截器;而此时,ShiroFilter主要完成用户认证和授权的功能

以上内容均属个人看法,如果存在很多问题望见谅,本博客只是为了记录自己得学习过程,理清自己得技术点思路
二、使用步骤
1.如何认证和授权
通过学习shiro的基础认证和授权,可以得出,shiro的认证和授权是在Security Manager(安全管理器)中进行操作的,所以需要在ShiroFilter中调用Security Manager
2.如何获取数据
上面说通过Security Manager安全管理器进行授权和认证,但是怎么获取数据呢,没错就是Realm;我们知道realm相当于一个DAO,里面封装了数据操作的具体细节;所以需要使用Security Manager调用Realm
总结
springboot整合shiro流程
1.创建一个spring boot应用
2.确定受限资源和公共资源
3.在springboot配置一个ShiroFilter拦截器
4.拦截请求
5.在ShiroFilter中调用Security Manager,然后Security Manager调用Realm获取数据完成用户认证操作
6.Security Manager调用Realm获取数据完成授权
以上内容均属个人看法,如果存在很多问题望见谅,本博客只是为了记录自己得学习过程,理清自己得技术点思路
shiro+springboot分析思路的更多相关文章
- 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限
上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...
- 整合shiro+jwt大体思路
springboot整合shiro大体上的思路: 1.自定义一个类Realm extends AuthorizingRealm{} 主要是对token授权和认证 重写2个方法 doGetAuthori ...
- CPU利用率异常的分析思路和方法交流探讨
CPU利用率异常的分析思路和方法交流探讨在生产运行当中,经常会遇到CPU利用率异常或者不符合预期的情况,此时,往往暗示着系统性能问题.那么究竟是核心应用的问题?是监控工具的问题?还是系统.硬件.网络层 ...
- enode框架step by step之框架要实现的目标的分析思路剖析1
enode框架step by step之框架要实现的目标的分析思路剖析1 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode ...
- so静态分析进阶练习——一个CreakeMe的分析思路
i春秋作家:HAI_ 原文来自:https://bbs.ichunqiu.com/thread-41371-1-1.html 说明 拿到一个CreakeMe,写一个分析思路.CreakMe主要是对.s ...
- 多线程_java多线程环境下栈信息分析思路
导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事.下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析 ...
- 教你 Shiro + SpringBoot 整合 JWT
本篇文章将教大家在 shiro + springBoot 的基础上整合 JWT (JSON Web Token) 如果对 shiro 如何整合 springBoot 还不了解的可以先去看我的上一篇文章 ...
- Android闪屏问题的分析思路
http://www.devba.com/index.php/archives/6157.html Android闪屏问题的分析思路 作者:孤风一剑 发布:2015-01-22 12:35 ...
- SPSSAU数据分析思维培养系列3:分析思路篇
本文章为SPSSAU数据分析思维培养的第3期文章. 上文讲解如何选择正确的分析方法,除了有正确的分析方法外,还需要把分析方法进行灵活运用.拿到一份数据,应该如何进行分析,总共有几个步骤,第一步第二步应 ...
随机推荐
- 浅析XML
概述XML文档结构 每个XML文档都分为两部分:序言(Prolog)和文档元素(或文档节点) 例子:写一段XML然后简单分析一下 <?xml version="1.0" en ...
- mysql使用group by分组时出现错误ERROR 1055 (42000): Expression #1 of SELECT list is not in GROUP BY clause and
问题: 1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ...
- 关于Stream系列实战
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- ASP.NET Core 6 Minimal API的模拟实现
Minimal API仅仅是在基于IHost/IHostBuilder的服务承载系统上作了小小的封装而已,它利用WebApplication和WebApplicationBuilder这两个类型提供了 ...
- Linux中ftp服务器的安装与部署
一.ftp简介FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一.FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端.其中FTP ...
- [apue] linux 文件系统那些事儿
前言 说到 linux 的文件系统,好多人第一印象是 ext2/ext3/ext4 等具体的文件系统,本文不涉及这些,因为研究具体的文件系统难免会陷入细节,甚至拉大段的源码做分析,反而不能从宏观的角度 ...
- 8元电调调参教程(使用Arduino Uno)| BLHeli无刷电调的固件烧写及调参
前言 淘某上有款8元电调,性价比很高,但是需要简单设置一下 1.材料清单 (1)Arduino UNO开发板 (2)BLHeliSuite 16.7.14.9.0.1 调参软件及固件已上传Gitee: ...
- ruoyi首次使用常见问题的解决方案
1.导入项目之后,下载依赖包之后,模块的依赖项飘红(我这里无法复现,当参考图吧) 解决方法: 2.ruoyi框架代码生成之后,需要自己进行替换到指定位置.相应的官方文档位置,否则,可能会出现404,访 ...
- JRE、JDK、JVM 及 JIT 之间有什么不同?
JRE 代表 Java 运行时(Java run-time),是运行 Java 引用所必须的.JDK 代 表 Java 开发工具(Java development kit),是 Java 程序的开发工 ...
- 指出在 spring aop 中 concern 和 cross-cutting concern 的不同之处?
concern 是我们想要在应用程序的特定模块中定义的行为.它可以定义为我们想 要实现的功能. cross-cutting concern 是一个适用于整个应用的行为,这会影响整个应用程序. 例如,日 ...