千家信息网

Spring Boot+JWT+Shiro+MybatisPlus怎么实现Restful快速开发后端脚手架

发表于:2025-02-07 作者:千家信息网编辑
千家信息网最后更新 2025年02月07日,本篇文章给大家分享的是有关Spring Boot+JWT+Shiro+MybatisPlus怎么实现Restful快速开发后端脚手架,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以
千家信息网最后更新 2025年02月07日Spring Boot+JWT+Shiro+MybatisPlus怎么实现Restful快速开发后端脚手架

本篇文章给大家分享的是有关Spring Boot+JWT+Shiro+MybatisPlus怎么实现Restful快速开发后端脚手架,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、背景

前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。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和权限信息(service层增删改方法命名规范会自动加上事物),保证请求无状态,返回实体如果属性为空不显示。

三、程序逻辑

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,则可启动项目。或在liugh-parent目录下运行命令mvn clean package,然后在liugh-web/target目录下运行java -jar liugh-web.jar命令

  • 启动一个redis服务

  • 访问登录接口:localhost:8081/api/login

  • 账号密码:13888888888/123456

  • 获取token访问其他接口

  • 注意!!!!!访问的接口url统一会加上/api/v1;编译器请安装lombok插件,不然会报红

运行截图:

彩蛋:项目注释完整,并且自定义了启动图案~

以上就是Spring Boot+JWT+Shiro+MybatisPlus怎么实现Restful快速开发后端脚手架,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

项目 密码 接口 权限 注解 登录 运行 数据 认证 开发 安全 信息 参数 数据库 算法 身份 服务 验证 脚手架 互联网 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 access数据库中的窗体有哪些功能 2019网络安全峰会北京 查看收件箱的服务器 公主连结有哪三个服务器 国生互联网科技有限公司地址 SQL数据库技术指标 无锡建讯互联网科技有限公司 南京ios应用软件开发 网站链接服务器 河北oa软件开发编程 互联网科技圈内人 奉贤区上门软件开发价钱 正阳软件开发有限公司招聘 安装ug许可证提示有服务器 数据库源代码路径如何修改 欧洲高管调查网络安全 网络安全信息化亮点 互联网为核心的计算机网络技术 数据库开发技术标准教程课后 本草纲目数据库连接问题 战锤3全面战争无法连接服务器 软件开发一定要去培训班吗 桂阳电脑软件开发培训哪家好 销售ibm服务器 网络安全运维职业 iis能连接数据库吗 孝感好的软件开发公司电话 软件开发类证书有哪些条件 监控存储服务器监控预览卡顿 怎么在服务器中使用chrome
0