详解springboot shiro jwt实现权限管理

 更新时间:2021年09月16日 15:54:46   作者:CingSuan  
为什么使用jwt呢,因为可以通过URL,POST参数或者在HTTP header发送,因为数据量小,传输速度也很快。本篇通过具体代码来进行详情解析,对大家的学习或工作具有一定的参考借鉴价值

springboot + shiro + jwt (详情解析+代码实现)加密接口 设置权限

首先需要把shiro的几个配置类给下载好(我已经把需要的配置类给放到了github和网盘之中)
先讲完各个配置类的作用,后面讲具体流程

ShiroConfig.java 类主要是设置了过滤器 和shiro自己的session,假如这个类没有放行就只有token才能访问后端接口

UserRealm.java 类主要是检测用户权限和授予权限,对用户名的验证

JWTFilter.java 类主要是防止别人访问你的接口,假如有人想直接访问你的接口首先检查你的token有没有在到ShiroConfig中看有没有放行假如两项都没有就无权访问后端的接口

MDSUtils.java 加密前端传入的密码,以及设置加密方式

JWTUtils.java 生成token,和设置过期时间

好了,这就是token几个主要的配置类
下面是实现的整个流程

1.首先前端登录访问后端登录接口,要给登录的请求地址放行(在没有登录的情况下是没有token的,如果没有放行就访问不到接口

在这里插入图片描述

这是给需要访问的路径放行

2.放行之后进入controller 传入用户名和密码到service中的login(注:(login())方法在没有在网盘中需要自己写)方法中 然后拿传入的账号(注:只有账号)在数据库中进行查询假如有此账号需要在数据库中获取用户的(盐:此盐非彼盐,这相当于对数据加密的密钥) 以及用户的信息,如果没有这个用户则直接抛出错误

在这里插入图片描述

在这里插入图片描述

3.拿到用户的信息后,把密码拿出来用用户信息里面的盐进行加密,然后将连个密码进行比对,比对成功就生成一个token携带这个用户信息返回出去到前端

4.前端拿到token后登录成功跳转页面并将token储存到本地并将token放到请求头中,前端登录成功后需要到后端获取数据每一次都需要携带这个token要不然就会被过滤器给拦掉

在这里插入图片描述

在axios中传入token

在这里插入图片描述

请求头中有了token就不需要配置过滤器可直接在realm类中进行授权并对数据的查询

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

最后 别忘记导入依赖

在这里插入图片描述

在这里插入图片描述

博主白天工作没有时间回复,晚上可做出回答
三天一期java技术
可帮忙找bug
可评论需要的技术可能下期会进行讲解

这是配置文件的位置
链接:https://pan.baidu.com/s/1k6MhGTOfskjRcQH_XppRcA
提取码:gdb2

到此这篇关于详解springboot shiro jwt实现权限管理的文章就介绍到这了,更多相关springboot shiro jwt 权限管理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 简单的java读取文件示例分享

    简单的java读取文件示例分享

    这篇文章主要介绍了java读取txt文件内容,示例很简单,代码里有注释,大家直接看代码吧
    2014-01-01
  • Java基本数据类型存储在JVM中的存储位置介绍

    Java基本数据类型存储在JVM中的存储位置介绍

    这篇文章主要介绍了Java基本数据类型存储在JVM中的存储位置,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • spring @Conditional的使用与扩展源码分析

    spring @Conditional的使用与扩展源码分析

    这篇文章主要介绍了spring @Conditional的使用与扩展,这里需要注意如果Condition返回的是false,那么spirng就不会对方法或类进行解析,具体源码分析跟随小编一起看看吧
    2022-03-03
  • Spring 中使用反射创建 Bean 实例的几种方式

    Spring 中使用反射创建 Bean 实例的几种方式

    文章介绍了在Spring框架中如何使用反射来创建Bean实例,包括使用Class.newInstance()、Constructor.newInstance()、工厂方法以及Spring的BeanUtils工具类,文章还强调了反射操作的注意事项,如异常处理、性能、安全性以及类型安全,感兴趣的朋友一起看看吧
    2025-03-03
  • Java Handler同步屏障浅析讲解

    Java Handler同步屏障浅析讲解

    同步屏障机制是什么?Handler发送的消息分为普通消息、屏障消息、异步消息,一旦Looper在处理消息时遇到屏障消息,那么就不再处理普通的消息,而仅仅处理异步的消息。不再使用屏障后,需要撤销屏障,不然就再也执行不到普通消息了
    2022-08-08
  • Java面试题冲刺第七天--Spring框架1

    Java面试题冲刺第七天--Spring框架1

    这篇文章主要为大家分享了最有价值的三道Spring框架面试题,涵盖内容全面,包括数据结构和算法相关的题目、经典面试编程题等,感兴趣的小伙伴们可以参考一下
    2021-07-07
  • Nacos Discovery服务治理解决方案

    Nacos Discovery服务治理解决方案

    DiscoveryClient是专门负责服务注册和发现的,我们可以通过它获取到注册到注册中心的所有服务,这篇文章主要介绍了Nacos Discovery服务治理,需要的朋友可以参考下
    2022-11-11
  • Spring Cloud Alibaba Nacos Config进阶使用

    Spring Cloud Alibaba Nacos Config进阶使用

    这篇文章主要介绍了Spring Cloud Alibaba Nacos Config进阶使用,文中使用企业案例,图文并茂的展示了Nacos Config的使用,感兴趣的小伙伴可以看一看
    2021-08-08
  • 使用栈的迷宫算法java版代码

    使用栈的迷宫算法java版代码

    这篇文章主要为大家详细介绍了使用栈的迷宫算法java版代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-01-01
  • 基于Map的computeIfAbsent的使用场景和使用方式

    基于Map的computeIfAbsent的使用场景和使用方式

    这篇文章主要介绍了基于Map的computeIfAbsent的使用场景和使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-09-09

最新评论