SpringBoot+JWT+Shiro+MybatisPlus后端脚手架
一、背景
前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置部署都变得简单,越来越多的互联网公司已经选择SpringBoot作为微服务的入门级微框架。
Mybatis-Plus是一个 Mybatis 的增强工具,有代码生成器,并且提供了类似hibernate的单表CRUD操作,又保留了mybatis的特性支持定制化 SQL。
Apache Shiro是一款强大易用的Java安全框架,Java官方推荐使用Shiro,它比Spring Security更简单易用,Spring自己的系列Spring side4也把权限扩建换成Shiro了。
现在API越来越流行,如何安全保护这些API? JSON Web Tokens(JWT)能提供基于JSON格式的安全认证。JWT可以跨不同语言,自带身份信息,并且非常容易传递。
二、项目特性
1.自定义@Log注解自动记录日志到数据库。
2.自定义@Pass注解接口不用进行认证身份。
3.使用JSONObject统一获取body请求参数,减少实体类的数量。完成自定义@ValidationParam注解验证请求参数是否为空。
4.使用bcrypt算法加密密码,著名代码托管网站Github和美国军方防火墙同样采用此算法,靠bcrypt算法会成功保住密码强度不算很高的大部分账户。
5.搭配Shiro注解配置权限,高度灵活,提供按钮级别的权限控制,后端接口只验证权限,不看角色。用自定义@CurrentUser注解获取当前登录用户,Controlle层统一异常处理:
6.用SpringAOP切面编程进行声明式事务,过滤请求参数,防止XSS攻击。
7.使用POST请求登录返回token和权限信息,保证请求无状态,返回实体如果属性为空不显示。
三、程序逻辑
1.填写用户名密码用POST请求访问/login接口,返回token令牌等信息,失败则直接跳转401错误页面。
2.在之后需要验证身份的请求的Headers中添加Authorization和登录时返回的token令牌。
3.服务端进行token认证,失败跳转401页面。
4.用jwt做认证(登录),Shiro做授权。
四、运行项目
项目结构:
通过git下载源码,本项目基于JDK1.8
采用Maven项目管理,模块化,导入IDE时直接选定liugh-parent的pom导入
创建数据库liugh,数据库编码为UTF-8,执行liugh.sql文件,初始化数据
修改application-dev.properties,更新MySQL账号和密码
Eclipse、IDEA运行SpringbootApplication.java,则可启动项目
访问登录接口:localhost:8081/login
账号密码:123456/123
获取token访问其他接口
运行截图:
彩蛋:项目注释完整,并且自定义了启动图案~
面试造火箭,工作拧螺丝,希望对你有所帮助
多多转发、点赞、评论、关注我、谢谢大家,让更多人受益!!!
你们的支持是我最大的动力!!!!
SpringBoot+JWT+Shiro+MybatisPlus后端脚手架相关推荐
- SpringBoot+JWT+Shiro+MybatisPlus实现Restful快速开发后端脚手架
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:lywJee cnblogs.com/lywJ/p/1125 ...
- springboot+jwt+shiro+vue+elementUI+axios+redis+mysql完成一个前后端分离的博客项目(笔记,帮填坑)
根据B站up主MarkerHub视频制作的一个笔记 我的博客 B站博主链接: https://www.bilibili.com/video/BV1PQ4y1P7hZ?p=1 博主的开发文档: http ...
- springboot jwt token前后端分离_基于Spring Boot+Spring Security+JWT+Vue前后端分离的开源项目...
一.前言 最近整合Spring Boot+Spring Security+JWT+Vue 完成了一套前后端分离的基础项目,这里把它开源出来分享给有需要的小伙伴们 功能很简单,单点登录,前后端动态权限配 ...
- SpringBoot+jwt+shiro实现登录验证及接口权限校验
SpringBoot+jwt+shiro+token实现对接口权限校验 最近在一个项目上实现登录模块,就想到了权限验证功能,了解了Spring Security和Shiro之后,决定使用Shiro来实 ...
- springboot集成shiro 前后端分离 统一处理shiro异常
springboot集成shiro 前后端分离 统一处理shiro异常 参考文章: (1)springboot集成shiro 前后端分离 统一处理shiro异常 (2)https://www.cnbl ...
- Springboot整合Shiro前后端分离跨域问题
Springboot整合Shiro前后端分离跨域问题 前言:SpringBoot整合shiro进行前后端分离开发时(前端是Vue),项目做了跨域配置,但还是前端请求会出现cros err–显示的跨域问 ...
- Spring Boot+JWT+Shiro+MyBatisPlus实现Restful快速开发后端脚手架
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:我叫刘半仙 链接:my.oschina.net/liughD ...
- Spring Boot+JWT+Shiro+MyBatisPlus 实现 RESTful 快速开发后端脚手架!
程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 2.8 分钟. 来自:网络,侵删 前几天,有不少人问我,有没有基于 SpringBoot 的脚手架项目.今天我就推荐一个基本的 ...
- shiro+php,一套基于SpringBoot+Vue+Shiro 前后端分离 开发的代码生成器
一.前言 最近花了一个月时间完成了一套基于Spring Boot+Vue+Shiro前后端分离的代码生成器,目前项目代码已基本完成 止步传统CRUD,进阶代码优化: 该项目可根据数据库字段动态生成 c ...
最新文章
- python反转字符串_python翻转字符串
- 【推荐系统】深入理解YouTube推荐系统算法
- python显示乱码_python2显示乱码问题实战详解
- pytorch torch.triu
- spring配置定时器的时间设置
- Dj Swivel Knocktonal for Mac(音符共振增强器)
- 各个蒙版的作用与区别
- 中国知网上html是什么意思,知网上网络首发是什么意思
- crx什么意思_CRX文件怎么打开-CRX是什么格式-CRX文件是什么意思-腾牛网
- html边框是啥意思,css中border是什么意思
- 使用Qt常见报错及解决方案
- 关于文档中的背景水印无法去除的解决办法
- 玩转X-CTR100 l STM32F4 l PS2无线手柄-4WD智能小车
- 【Day1】数组、704二分查找、27移除元素
- 从量变到质变——AMD打“翻身仗”的秘诀
- HBase Shell启动缓慢及操作耗时长的原因分析与解决
- 面向对象学习笔记1 - 人狗大战
- LINUX下完全免费的P2P网络电视SopCast
- 03.23可转债打新策略
- 作为金山办公产品的用户对WPS Office的质疑