
后台管理系统的通用权限解决方案
文章平均质量分 86
企业中的绝大多数项目都需要进行用户认证鉴权、权限管理等。这些功能的实现思路基本一致,但如果每个项目都实现一次,就无形中就形成了巨大的资源浪费。本专栏就是为了解决这个问题,提供了一套通用的权限解决方案,可以直接作为后端服务的开发脚手架。
维先生d
卷又卷不赢,躺又躺不平。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
后台管理系统的通用权限解决方案(十七)基于Zuul实现权限校验过滤器
在网关服务的token校验过滤器中,已对前端送过来的token信息进行校验和解析,解析成功后得到了管理员的信息。那么接下来就是对当前请求的权限进行校验,如果该管理员具备该请求的权限,则放行;可见,此时已经通过了权限校验。原创 2024-11-25 14:00:00 · 440 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十六)基于Zuul实现Token校验过滤器
作为通用权限系统的网关服务,前端的http请求首先需要经过网关服务。认证服务或者其他微服务进行业务处理。可见,token校验过滤器已生效。,再通过网关服务的路由功能转发到。zuul配置的意思是,所有以。为前缀的请求都会被转发到。原创 2024-11-25 07:00:00 · 454 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十五)基于注解和切面实现操作日志记录
可见,前端发起请求时,后端都会生成一条操作日志信息记录下来,以方便后期的溯源等。对象并继续设置其他的成功操作信息,随后发布事件。在切面类中定义异常返回通知,在异常返回通知方法。对象并继续设置其他的异常操作信息,随后发布事件。,拦截Controller中添加。中收集操作相关信息封装为。对象并保存到线程容器。,在成功返回通知方法。原创 2024-11-14 11:12:39 · 412 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十四)基于JWT实现登录功能
可见,前端已经获取到了用户信息、token信息、以及可使用的权限信息,后续前端向后端发起任何请求时都需要携带token,还可以使用权限信息控制页面的显示。说明:以下代码仅仅是主体代码,其中涉及的实体类、码表、工具类等没有贴出来,完整代码可以在本篇文章中直接下载。:从缓存中获取已经保存好的验证码并进行验证,验证失败则返回登录失败,验证通过则立即从缓存中删除验证码。:根据用户ID查询出该用户可以访问的资源权限,并保存到缓存中,同时返回前端。原创 2024-11-14 07:00:00 · 432 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十三)easy-captcha验证码功能
easy-captcha 是生成图形验证码的Java类库,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。至此,验证码功能开发完成,后续用户进行登录时,也需要携带参数key,这样就可以从Redis拿出指定的保存好的验证码进行比对。原创 2024-11-08 10:55:24 · 673 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十二)数据模型、基于SpringCloud和Nacos的后端项目搭建
经过前面11个小节的学习,终于把通用权限系统涉及的技术学习完了。现在,就可以真正开始系统的开发了。原创 2024-11-02 14:00:00 · 1838 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十一)SpringBoot的统一异常处理
在实际项目中,不可避免需要处理各种异常。如果每个都单独处理,代码中则会出现大量的代码块,不仅有大量的冗余代码,而且还影响代码的可读性。Spring从3.2版本开始增加了一个注解,它可以与等注解配套使用,可以统一进行异常处理。原创 2024-11-02 07:00:00 · 699 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(十)如何自定义SpringMVC的参数解析器
/ 此处request对象就是通过Springmvc提供的参数解析器帮我们注入的在上面的saveUser方法中,我们直接声明了一个类型为的参数,这个参数对象可以直接使用,那是因为这个参数对象就是通过Springmvc提供的参数解析器帮我们注入的。同样,如果我们需要使用对象,也可以直接在方法上加入这个参数,此时Springmvc会通过这个参数解析器帮我们注入。在项目开发中我们也可以根据需要自定义参数解析器,需要实现接口:和。当方法返回true时,才会调用方法。原创 2024-11-01 18:00:00 · 1413 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(九)SpringBoot整合jjwt实现登录认证鉴权
可见,jwt令牌已经生成,且可以成功解析。后续调用服务的其他请求,只需要将该令牌通过请求头传递到后端服务即可。原创 2024-11-01 13:02:40 · 797 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(八)认证机制介绍、JWT介绍与jjwt框架的使用
HTTP Basic Auth 是一种简单的登录认证方式,Web浏览器或其他客户端程序在请求时,通过HTTP请求头提供用户名和密码。简单点说就是每次请求时都提供用户的用户名和密码。这种方式是先把用户名:密码拼接起来,并将得出的结果字符串用Base64算法编码。例如,提供的用户名是bill,密码是123456,则拼接后的结果就是,然后再将其用Base64编码,得到。最终将Base64编码的字符串通过HTTP请求头发送出去,由服务器解码得到一个由冒号分隔的用户名和密码的字符串。原创 2024-10-30 14:00:00 · 849 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(七)SpringBoot整合SpringEvent实现操作日志记录(基于注解和切面实现)
除了记录程序运行日志,在实际项目中一般还会记录操作日志,包括操作类型、操作时间、操作员、管理员IP、操作原因等等(一般叫审计)。Spring Event是Spring的事件通知机制,可以将相互耦合的代码解耦。Spring Event是监听者模式的一个具体实现。原创 2024-10-30 07:00:00 · 1525 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(六)SpringBoot整合Logback实现日志记录
由上图可知,Logback和Log4j都是slf4j规范的具体实现。在程序中直接调用Logback的API其实都是slf4j规范定义好的API,其底层则是真正的日志实现组件—Logback或者Log4j。LoggerAppender和Layout。这三个不同类型的组件一起作用能够让开发者根据消息的类型以及日志的级别来打印日志。原创 2024-10-29 14:00:00 · 1214 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(五)SpringBoot整合hibernate-validator实现表单校验
早期的网站,用户输入一个邮箱地址,需要将邮箱地址发送到服务端,服务端进行校验,校验成功后,给前端一个响应。有了JavaScript后,校验工作可以放在前端去执行。那么为什么还需要服务端校验呢?因为前端传来的数据不可信。前端很容易获取到后端的接口,如果有人直接调用接口,就可能会出现非法数据,所以服务端也要数据校验。校验参数基本上是一个体力活,而且冗余代码繁多,也影响代码的可读性,我们需要一个比较优雅的方式来解决这个问题。原创 2024-10-29 07:00:00 · 777 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(四)SpringBoot整合Dozer实现对象属性复制
dozer是用来对两个对象之间属性转换的工具,有了这个工具之后,我们将一个对象的所有属性值转给另一个对象时,就不需要再去写重复的调用set和get方法了。原创 2024-10-28 14:00:00 · 1083 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(三)SpringBoot整合Knife4j生成接口文档
knife4j是为Java MVC框架集成Swagger生成Api文档的,前身是,取名knife4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!原创 2024-10-28 07:00:00 · 534 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(二)SpringBoot整合Swagger Springfox实现接口日志文档
使用Swagger,我们只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具,就可以做到生成各种格式的接口文档,生成多种语言的客户端和服务端的代码,以及在线调试接口等等。这样,在开发项目的新版本或者迭代版本时,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。为了简化Swagger的使用,Spring框架对Swagger进行了整合,建立了项目,后面改成了现在的Springfox。原创 2024-10-27 14:00:00 · 1218 阅读 · 0 评论 -
后台管理系统的通用权限解决方案(一)如何自定义一个starter?
如何像spring-boot-starter-web一样,自定义并使用一个自己的starter?原创 2024-10-27 07:00:00 · 1086 阅读 · 0 评论