前言

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分析思路的更多相关文章

  1. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础授权权限

    上一篇<[原]无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限>介绍了实现Shiro的基础认证.本篇谈谈实现 ...

  2. 整合shiro+jwt大体思路

    springboot整合shiro大体上的思路: 1.自定义一个类Realm extends AuthorizingRealm{} 主要是对token授权和认证 重写2个方法 doGetAuthori ...

  3. CPU利用率异常的分析思路和方法交流探讨

    CPU利用率异常的分析思路和方法交流探讨在生产运行当中,经常会遇到CPU利用率异常或者不符合预期的情况,此时,往往暗示着系统性能问题.那么究竟是核心应用的问题?是监控工具的问题?还是系统.硬件.网络层 ...

  4. enode框架step by step之框架要实现的目标的分析思路剖析1

    enode框架step by step之框架要实现的目标的分析思路剖析1 enode框架系列step by step文章系列索引: 分享一个基于DDD以及事件驱动架构(EDA)的应用开发框架enode ...

  5. so静态分析进阶练习——一个CreakeMe的分析思路

    i春秋作家:HAI_ 原文来自:https://bbs.ichunqiu.com/thread-41371-1-1.html 说明 拿到一个CreakeMe,写一个分析思路.CreakMe主要是对.s ...

  6. 多线程_java多线程环境下栈信息分析思路

    导读:Java多线程开发给程序带来好处的同时,由于多线程程序导致的问题也越来越多,而且对问题的查找和分析解决对于菜鸟程序原来是是件头疼的事.下面我就项目中使用多线程开发程序过程中遇到的问题做详细的分析 ...

  7. 教你 Shiro + SpringBoot 整合 JWT

    本篇文章将教大家在 shiro + springBoot 的基础上整合 JWT (JSON Web Token) 如果对 shiro 如何整合 springBoot 还不了解的可以先去看我的上一篇文章 ...

  8. Android闪屏问题的分析思路

    http://www.devba.com/index.php/archives/6157.html  Android闪屏问题的分析思路 作者:孤风一剑   发布:2015-01-22 12:35   ...

  9. SPSSAU数据分析思维培养系列3:分析思路篇

    本文章为SPSSAU数据分析思维培养的第3期文章. 上文讲解如何选择正确的分析方法,除了有正确的分析方法外,还需要把分析方法进行灵活运用.拿到一份数据,应该如何进行分析,总共有几个步骤,第一步第二步应 ...

随机推荐

  1. snort规则

    一.Snort规则分为两个部分 二.规则头的基本格式 动作: 动作描述一个数据包的"谁,在何处,什么"的问题,并指明规则被激发后,在事件中应当做什么.在编写规则时,你可以从下面的关 ...

  2. ITerm让MAC终端更加灵活高效

    一.ITerm2简介 1.安装 iTerm2 是一款完全免费的,专为 Mac OS 用户打造的命令行应用.直接在官网上http://iterm2.com/ 下载并安装即可. 2.配置 设置ITerm为 ...

  3. linux的文件与目录的权限设置

    @font-face { font-family: 宋体 } @font-face { font-family: "Cambria Math" } @font-face { fon ...

  4. 《前端运维》四、Jenkins--持续构建

    首先,我们先来了解下什么叫做持续构建.持续构建简称CI,负责拉取代码库中的代码后,执行用户预定义的脚本,通过一系列编译操作构建出一个制品,并将制品推送到制品库里.常用的持续构建工具有 Gitlab C ...

  5. java反射和动态代理实现与原理详细分析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式    代理模式是常用的java设计模式, ...

  6. linux下的shell脚本

    先说明以下内容来自: http://c.biancheng.net/cpp/shell/ ,C语言中文网,请大家支持原作,点击链接查看. 我写下来只是作为笔记,如果侵权,请留言,立马删除. Shell ...

  7. 当一个线程进入一个对象的 synchronized 方法 A 之后, 其它线程是否可进入此对象的 synchronized 方法 B?

    不能.其它线程只能访问该对象的非同步方法,同步方法则不能进入.因为非静 态方法上的 synchronized 修饰符要求执行方法时要获得对象的锁,如果已经进入 A 方法说明对象锁已经被取走,那么试图进 ...

  8. spring-boot-learning-监控相关

    springboot提供了对项目的监控功能,首先我们需要引入需要的jar包: <!--监控包--> <!-- https://mvnrepository.com/artifact/o ...

  9. 转载:STL常用容器的底层数据结构实现

    转载至:https://blog.csdn.net/qq_28584889/article/details/88763090 vector :底层数据结构为数组,支持快速随机访问 list:底层数据结 ...

  10. jdbc的快速入门(需要mysql-connector-java-5.1.39-bin.jar包)

    package Lianxi;import java.io.InputStream;import java.sql.Connection;import java.sql.DriverManager;i ...