springboot
yrldjsbk
探讨java,vue3,css3等网站,小程序和各种企业软件开发编程技术难题和热点内容。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
在前端thymeleaf模板中如何熟练使用sec:官方标签调用各种属性值
本文介绍了在SpringBoot 3.2.5和Thymeleaf环境中使用sec标签进行安全控制的方法。主要内容包括:1)环境配置,需添加thymeleaf-extras-springsecurity6依赖并引入命名空间;2)10个核心案例,涵盖登录状态判断、用户信息获取、权限控制等场景;3)详细标签说明,如sec:authorize、sec:authentication等;4)常见问题排查,如版本兼容、自定义属性获取等。通过sec标签可实现精细化的前端权限控制,提升系统安全性。原创 2025-09-19 07:48:13 · 486 阅读 · 0 评论 -
springboot-security安全插件使用故障解析
本文分享了SpringBoot Security插件使用中遇到的登录问题及解决方案。作者发现自定义的登录方法和业务逻辑未生效,经调试发现原因是Spring Security默认通过UserDetailsService接口进行验证。文中详细展示了自定义的AuthServiceImpl登录实现类代码,以及安全配置类SecurityConfig中的相关设置。关键点在于:必须实现UserDetailsService接口并重写loadUserByUsername方法,才能让自定义登录逻辑生效。这个问题揭示了Sprin原创 2025-09-18 10:50:02 · 674 阅读 · 0 评论 -
Mapper在spring项目开发中有哪些实际价值和意义
摘要:Mapper模式通过分离数据转换与业务逻辑,提升系统架构整洁度和可维护性。其核心优势包括:1)保持服务层专注业务规则;2)集中管理转换逻辑,减少重复代码;3)灵活支持多种数据模型和输出格式。典型应用场景包括:批量转换实体列表(如商家列表查询)、请求/响应数据转换(如商家注册/更新)。搭配MapStruct等工具可自动生成转换代码,显著提升开发效率。这种模式与DTO模式相辅相成,是构建健壮信息系统的关键实践。原创 2025-07-19 12:15:01 · 294 阅读 · 0 评论 -
快速构建springboot+java+mongodb新闻发布系统简单Demo
使用 MongoDB 存储新闻数据。提供了增、删、改、查的 RESTful API。使用 Spring Boot + Spring Data MongoDB 构建的后端应用。通过 Spring Data MongoDB,MongoDB 操作变得非常简便,不需要写太多的 SQL 语句,直接使用面向对象的方式操作数据。亲测,效果是可以的,注意,这个新增新闻,是POST请求类型。我使用传递了JSON格式封装进入了Body参数内。传递给后端接口使用。如图,亲测,查询所有新闻,也是正常的。原创 2025-01-24 17:22:53 · 1508 阅读 · 0 评论 -
手把手教你构建一个Springboot+thymeleaf项目
虽然现在有很多前端框架流行,但是,如果你想做好SEO排名优化,还是推荐大家使用thymeleaf框架作为前端页面的搭建。1:IDEA开发环境已经为我们提供了方便的脚手架程序,我们只需要按步骤,就可以很快构建一个简单的网站了。第五步,等到下载完成后,我们可以开始新增代码的包,输入一个测试控制器。我们这里是不需要勾选的,你可以根据自己的个人喜好。如图,我写的了一个简单的方法,返回一个index.html页面给前端渲染显示。你可以自己自定义项目的名字。这个按钮就是启动项目的, 你可以在修改代码后,重新启动项目。原创 2025-01-24 10:36:52 · 569 阅读 · 0 评论 -
springboot网站开发,使用redis配合验证手机短信验证码是否有效
实际业务开发中,经常遇到手机注册的情况,少不了需要验证客户提交过来的短信验证码信息,是否正确。3:还有一个业务接口,会在用户提交申请短信验证码的时候,就已经提前使用phone+captcha组合的key存入了redis中,并且设置好了过期节点是5分钟之后。所以,我们在策划这个方法的时候,加入了2个参数,一个是手机号,一个是短信验证码。所以我们直接查询即可,如果查询到了,就说明是输入的正确。4:到了这一步,就是验证用户输入的提交到后台控制器方法内的有效性了。使用这2者组合的信息,作为key来完成验证有效性。原创 2024-12-06 17:31:59 · 716 阅读 · 0 评论 -
springboot网站开发-使用redis作为定时器控制手机号每日注册次数
springboot网站开发-使用redis作为定时器控制手机号每日注册次数!为了避免,某些手机号,频繁的申请注册,开启了redis数据库配置的定时器模式。下面是设计代码的案例展示。经过这样设置,我们可以限制用户的手机号,每天24小时之内,仅有2次申请注册的机会,你可以根据个人的业务需求,自己修改限制的次数。24小时之后,这条数据库记录信息会自动被清理干净,客户就可以再次申请了。原创 2024-12-06 17:27:44 · 560 阅读 · 0 评论 -
Springboot组合SpringSecurity安全插件基于密码的验证Demo
下面的案例,都是基于数据库mysql,用户密码,验证登录的策略demo。WebSecurityConfigurerAdapter,这个有提示,说该抽象类已经被弃用。如图,这个接口需要带一个参数,username。我使用的是Apifox接口管理软件。4:创建一个测试控制器HelloController.测试一下效果。)类的名字你可以自己定义,但是必须实现这个插件的接口才行。2:增加配置类,配置基础的参数信息。引入maven仓库的坐标。3:需要创建一个实现了接口。原创 2024-11-26 17:40:37 · 685 阅读 · 0 评论 -
springboot-网站开发-使用slf4j实现网站异常错误的及时跟踪定位
项目部署,开发好后,部署到远程服务器上面了,运行过程中,难免会遇到一些错误和异常情况,我们需要借助一些插件来帮助我们及时捕捉这类错误和异常。最后提醒大家,注意这个配置文件的存档位置,必须是在根目录下面哦,其他地方不行。如图所示,我们就可以把这个信息存储在我们预先设置的配置文件(指定的地方了。如图,我们这个是定位捕捉到了具体的方法名字,以及发生的异常情况。如图所示,服务器远程里面,代码遇到了异常错误就会记录下来了。2:在类的属性中,注入实例化对象。3:在方法体内,开始捕捉异常,1:在我们的控制器内导入插件。原创 2024-10-11 14:33:35 · 593 阅读 · 0 评论 -
springboot网站开发-mysql数据库字段varchar类型存储汉字的长度关系
如果你的数据表是utf-8编码,并且采用的是mysql数据库。设计自己的业务数据。那么,如果你采用是varchar类型的字段格式,一个汉字就是一个字节。如图所示,这个username的字段varchar类型,长度10.确实是可以正常存上去的。如图所示,这个用户的昵称,名字才前端html内已经限制了用户输入时,在2-10个之间。总结:mysql数据库,utf8字符集,varchar类型,一个汉字就是一个字节。因此前端用户输入,汉字最多只能录入10个汉字。到了后端数据库表内部。存储的时候,也就是这样。原创 2024-10-10 11:01:55 · 663 阅读 · 0 评论 -
springboot如何配合redis写一个会员每日签到领取积分的功能
来操作Redis,并通过会员ID和当前日期构造了签到的key,如果该key不存在,则允许签到,并给会员增加对应的积分,并设置签到key的过期时间以限制每日一次签到的机会。如果已经签到,则抛出异常。在服务实现中,检查会员是否已签到,未签到则更新Redis中会员的签到记录并添加积分。springboot如何配合redis写一个会员每日签到领取积分的功能!创建会员签到实体,包含会员ID、签到日期和积分字段。创建服务接口和实现,提供签到方法。创建API控制器,暴露签到接口。依赖,以便使用Redis。原创 2024-10-10 10:10:17 · 894 阅读 · 0 评论 -
springboot-网站开发-如何规避和拒绝用户输入的空字符串
在网站开发过程中,前端用户的输入内容,经常会遇到有人故意输入字符串。导致一些异常的发生。前端html模板页面内,我做了一下js的判定,但是我感觉没有发挥作用。从数据库内查询是否存在,如果不存在,就返回可以使用。现在执行代码后,等用户在前端页面点击提交注册按钮后,反馈了一个不允许输入空字符。这个地方做了判断,没有什么效果,照样会进入后端接口的执行。2:还好,我也在后端接口里面做了判定。3:在真正的注册接口内,还做了第三次验证。下面分享一下,我的应对方法。原创 2024-10-09 10:23:30 · 696 阅读 · 0 评论 -
springboot-网站开发-thymeleaf引擎报错找不到指定的页面模板文件
这种错误的情况,发生,一般都是因为,我们自己的html模板文件,存档位置并不是在默认的templates下面。然后,我们在java代码里面,控制器方法体内,return,返回模板的时候,我们多写了一个反斜杠导致的。类似这种,自己新建的子目录内写的模板文件,在java代码内,返回的时候,开头位置不可以带反斜杠。会报错,异常,找不到指定的模板文件。如图所示,这个admin,就是我们新建的子目录了,但是,它前面不要写反斜杠。如图,这个就是重定向页面了。补充说明,如果你是想让页面发生调整,重定向页面,原创 2024-10-09 08:59:00 · 1034 阅读 · 0 评论 -
springboot-网站开发-linux服务器部署jar格式图片存档路径问题
近期在部署自己的网站源码,使用的是jar格式的编码格式。因此,正常的情况下,证书的名字是这样的。如果你不写末尾的反斜杠,那么,生成的证书图片名字就变成了:“zhengshuNo638c349bb55b.jpg”;1:首先,在linux服务器内部,存档图片,文件等资源的时候,本地java代码里面的路径格式,如果是需要注意的。如果你末尾不写,虽然不会寻址错误,但是,java代码会认为,你末尾的zhengshu是一个字符串。因此,再次提醒大家,注意,linux服务器和java代码的组合关系。原创 2024-10-09 08:53:30 · 723 阅读 · 0 评论 -
springboot aop判定用户ip访问次数受限了该如何通知用户
在Spring Boot中,你可以使用AOP来判断用户的IP访问频率是否超过了限制,并通过一个通知(Advice)来通知用户。这里的通知方法可以是发送一个HTTP响应,或者是向用户展示一个错误页面,或者是其他任何你希望使用的方式。时,AOP切面会检查该用户的IP访问频率是否超出了限制,如果是,则会通过。springboot aop判定用户ip访问次数受限了该如何通知用户!最后,在服务方法上使用。原创 2024-10-07 17:45:22 · 566 阅读 · 0 评论 -
springboot开发网站-使用redis数据库定时特征限制指定ip的访问次数
声明,如果你是想让这个代理类,链接某个指定的redis库,可以进一步在初始化实体类的过程中,新增参数,包括设置你自己的访问密码。我没有做汉字的编码,所以汉字是乱码的。说明,我们读取到了redis数据库内部,已经有这样一个key信息了。我因为已经访问了一次了,所以第二次请求的时候,就会提示,超过上限,请明天再来访问。3,有了以上铺垫,我们开启本地redis数据库,然后写一个测试的控制器。1:首先,我们需要增加redis数据库的管理插件maven标记。如图,我的本地redis已经开启初始化完成了。原创 2024-10-07 16:06:50 · 849 阅读 · 0 评论 -
springboot网站开发-解决web前端请求的一个错误
近期在开发网站时,web页面,点击金币结算按钮时,一直报错,说金币余额不足。经过使用浏览器自带的js调试插件,一步一步跟踪调试,发现了原因。是漏写了一个隐藏的html标签导致js脚本代码获取不到该值,引起了错误。进入了else代码提示,金币余额不足,请 提前充值。既然找到了问题的根源所在,就好办了,仔细排查页面代码后,发现,是自己漏写了一个隐藏的html标签引起的。中间部分,可以看见当前执行到了哪一行代码,同时也可以看见对应的数值信息。如图所示,补充上去这个代码,就可以正常执行了。原创 2024-10-07 15:14:30 · 353 阅读 · 0 评论 -
springboot项目组合定时器schedule注解实现定时任务
schedule注解是比较简单方便的,可以实现解决实际开发需求中,大部分的定时任务需求!创建好springboot项目后,需要在启动类上增加注解开启定时器任务。springboot项目组合定时器schedule注解实现定时任务!为了便于直观的观察定时器的执行情况。你可以把前面三个方法的注释放开。下一次分享的是专业化很强的定时插件Quartz。如图所示,这个定时器数值解的方法确实正常执行。定时器组件内,我把前三那三个方法给注释掉了。这个我是写了一个简单的,组件。增加这个注解,启动项目,原创 2024-05-01 17:29:44 · 656 阅读 · 1 评论 -
spingMVC一个controller最多可以同时响应多少请求
总的来说,Spring MVC本身不限制并发请求的数量,这取决于你的服务器配置和你如何设计你的控制器。但是,如果你的问题是想知道Spring MVC控制器处理请求的最大线程数,这通常取决于你的应用服务器配置,例如Tomcat的connector配置。如果要限制并发请求的数量,可以使用 Hystrix 或者 resilience4j 这样的库来实现断路器模式,或者通过自定义线程池来控制。如果你的应用使用的是不同的Servlet容器,设置方式可能会有所不同。例如,在Tomcat中,可以通过修改。原创 2024-05-01 16:26:37 · 1155 阅读 · 2 评论 -
springboot+websocket开发简单的在线群聊聊天web版本
下面是一个简单的demo。分享给大家,亲测可以使用的。3:再次是关于处理响应信息的控制器和配置类文件,以及封装消息的实体类。2:其次是,关于springboot项目的pom.xml依赖项配置。代码都是我手工录入的,很累。我使用的是搜狗浏览器一个!微软的Edge浏览器一个!1:首先是一个chat.html页面。因为是简单的demo。所以传递的消息内容很简单。如图,里面就2个简单的文件,一个app.js。这个图片是来自微软浏览器的截图。一个简单的静态页面。原创 2024-04-30 17:59:57 · 717 阅读 · 1 评论 -
哪位大神可以指点一下:cors跨域细粒度设置不起作用啊
哪位大神可以指点一下:cors跨域细粒度设置不起作用啊!哪个大神可以指导一下呢。这种情况,是什么原因引起的?实际上,我后端控制器方法已经加好了注解了。静态页面,2个按钮。原创 2024-04-29 15:20:16 · 188 阅读 · 0 评论 -
jpa分页插件对象Pageable出现了错误异常如何解决?
因为,你要么提前判断好,数据表内到底有多少条数据。考虑要不要进行提示用户,信息已经展示完毕了。一般来说,遇到这种的错误异常情况,通常情况 下,都是因为程序员把传递的分页页码数字写错了。后端代码里面会根据前端反馈的page数字进行匹配判断,到底该如何操作。因此,把前端index.html内部设计的page数字改成0即可。设计一个错误提示页面。在里面告知用户,信息内容已经展示完毕了。其实,这种情况,可以解决错误异常,但是还是无法根治错误。正常情况下,分页页码起始数字应该是0;原创 2024-04-24 15:19:13 · 667 阅读 · 0 评论 -
springboot网站开发如何配置log4j日志插件
为了便于服务器等环境下的错误情况的排查根源,还是很有必要使用日志插件的,它可以记录下我们提前埋下的锚点信息。如图,我写了一个简单的测试类。里面调用了logger对象,的一些基础方法,它会在对应的存储文件下面输入我们预先设置好的信息。这个就是我预先设置好的记录信息。比如上一次,我跟踪排查服务器图片无法正常创建就是在图片生成工具类里面埋下了很多锚点信息。有了这个案例,你就可以在任何你想埋下锚点记录信息的实体类里面去使用它了。在遇到故障的时候,查看这些锚点记录的日志信息,可以快速高效的解决服务器遇到的故障。原创 2024-03-21 15:05:37 · 950 阅读 · 0 评论 -
springboot网站开发-诡异的static/images读取故障
我在本地环境测试代码,一切正常。可以读取到该路径下的图片模板,正常生成图片存储在本地D盘下面的文件夹。打包发布后,死活读取不到图片模板。4天的时间,经过反复的观察日志文件。发现问题根源不在于字体,也不在于权限大小。本次解决问题的心得体会是:大家遇到了服务器故障,一定要多查看日志记录。这样以来,让代码直接去服务器文件夹内读取它试试看。如图,顺利实现了图片的创建任务。反馈给了前端浏览器一张证书图片。那么,我干脆直接一点,直接把图片模板存入服务器文件夹下面了。声明:前提是你已经提前在代码里做好了捕捉和记录。原创 2024-03-21 14:49:30 · 508 阅读 · 0 评论 -
springboot网站开发解决图片存储问题,前端无法访问解决办法
最近使用springboot开发网站的时候,遇到了一个图片存储问题,我之前的方法是,把证书图片存在项目的static目录下面,这样的话,打包发布到远程服务器后,虽然可以正常展示已经打包封装好的内容,但是如果新产生的图片则是不行的!为此,我在网上搜了一下,换成另外的存储位置,采用路径映射的方式,解决了这个难题。读取配置文件的路径信息,通过一个registry的调用方法,完成了虚拟路径和实体路径的映射关系。如图,证书的存储物理路径,就是本地硬盘的某一个文件夹。如图,代码里加了注释,大家自己看就能看懂了。原创 2024-03-21 09:55:40 · 503 阅读 · 0 评论 -
springboot网站开发-本地图片正常-linux服务器报错500解决办法
在本地测试一切正常,发布到远程服务器后,就报错了,500.经过仔细的分析,得出结论,是远程服务器linux对应的jar文件,安全级别限制住了。所以改成777高级的权限后,就可以正常了。题外话:之前我想猜测可能是,因为linux服务器缺少图片生成所需要的字体(宋体),我已经提前安装好了宋体。还是报错500.今天早上继续深入分析,发现还是文件权限低,造成的。这个就是正常执行后,(图片已经完成了生成+存储。返回给客户看见的前端结果页面。之前一直无法显示这个页面,服务器会返回一个500的错误代码。原创 2024-03-20 10:35:54 · 439 阅读 · 0 评论 -
springboot网站开发-idea开发环境下无法开启调试Debug模式
近期在写后端代码的时候,发现,无法开启调试模式。网上查询了一下资料,发现需要做如下修改即可开启调试模式。springboot网站开发-idea开发环境下无法开启调试Debug模式的解决办法。如图所示,把里面的选项,都放弃勾选。然后就可以开启你调试模式了。记得提前打好断点哦。一步一步调试就可以看见你想要的调试效果了。原创 2024-02-27 17:41:37 · 1036 阅读 · 0 评论 -
springboot+vue网站开发-渲染前端列表页面-缩略图信息
这是第一篇,先给大家展示的是,基础的代码封装,vue前端网站模块的代码展示。说明调用成功了,页面没有展示信息,是因为我们后端接口返回了内容是空白的。我们使用到了pinia-存储我们请求过来的数据,它是一个状态管理,取代了之前的旧技术vuex.我们使用了axios封装好了一些基础条件,方便对后端服务器发送业务请求。第一步,我们在src下面新建一个utils文件夹,新建一个http.js。下一次给大家展示后端接口代码,里面会完成上传信息,展示列表的内容。如图,我们引入成功了,开始使用他们。原创 2024-02-27 12:16:13 · 833 阅读 · 0 评论 -
springboot网站开发-图片上传基础参数配置情况
springboot网站开发-图片上传基础参数配置情况!想使用mutipartFile上传文件。需要做一些基础的参数配置。下面是一些配置参数的情况。其中的servlet下面的mutipart参数配置就是针对上传的参数信息。第一个是,你的全局配置文件里面需要设计好参数。原创 2024-02-27 09:18:28 · 572 阅读 · 0 评论 -
springboot网站开发-使用MultipartFile上传图片文件到远程服务器
如果你的参数名字和后端业务接口的参数名字一样,不需要这个修饰方法的。昨天上午在准备网站的一些 图片,下午在测试图片上传的模块,走了一些弯路,今天和大家分享一下,免得大家再走弯路。首先,要和大家声明一件事,maven(父子嵌套模式的项目),平级项目之间的组件调用,务必要保证,代码的存档路径一致才行,否则就会出现加载失败,提示找不到对象,报错null.核心思想,java上传核心设计,就是把文件用字节流(存档到指定的文件夹内)。如图所示,这种错误,不仅会影响代码本身的执行,甚至会阻碍你开启DEbug模式。原创 2024-02-27 09:12:01 · 1255 阅读 · 0 评论 -
springboot+vue网站开发02-前端页面的渲染代码展示
里面写了2个组件,分别对应,导航组件,新闻列表组件,右侧热点新闻 组件。三个组件,给它起了一个别名:映射。axios里面,关于服务器基础地址baseURL.我之前学习时犯了错,这个必须严格按照官方要求写好,大小写字母不允许自己乱改,只能是这个样子的。如图,我们查看了package.json内容,里面告诉我们,该前端项目,调用了哪些插件。在header头部组件内,有我们想要的导航栏信息,使用了是elementUI的标签。到此为止,我们就已经完成了前端页面请求后端接口,渲染前端页面分类导航栏信息的目的了。原创 2024-02-23 16:44:23 · 724 阅读 · 0 评论 -
springboot网站开发0201-使用MybatisPlus查询数据库信息返回前端渲染
场景模拟之二:如果我们不关心当前新闻分类下面是否有没有新闻稿件,那就简单多了,直接干脆一点,直接查询分类表信息,返回就行了。控制器代码非常简单。首先,我们需要清楚,本次业务需求是,查询新闻分类表的内容,把所有新闻分类信息,返回给前端渲染使用。如图,我们可以看见,前端页面新闻分类列表其实仅需要2个属性值,一个是分类的名字,一个是分类的id.返回了一个Set集合,不允许有重复的情况,Set集合里面的元素属性是,不可以重复,且无序。如图代码,我们第一步,就是去查询文章表,状态为已发布(正常显示)的新闻集合,原创 2024-02-23 16:08:12 · 1146 阅读 · 0 评论 -
springboot网站开发02-接入持久层框架mybatisPlus
达到我们想要的效果。)后面的Tempalte模块勾选,我们不选controller(控制器),控制器我们在前端项目里自己写的,我们只需要EasyCode插件帮助我们写好基础的东西就行了,比如持久层,业务层,实体类。这个是分开设计的思想,entity里面写的实体类,是对应数据库内数据表的,但是实际传递给页面前端渲染的数据,经常会遇到(个别属性值的传递)。为了节省时间,提升效率,我们使用了一个插件EasyCode.它可以帮助我们自动把数据表,映射为项目内的实体类,包括业务层,持久层,都会自动创建好的。原创 2024-02-23 15:37:45 · 1150 阅读 · 0 评论 -
springboot网站开发01-如何搭建Maven类型父子嵌套结构项目
众所周知,实际上,在真正的公司项目开发中为了让代码实现更多的复用,提升项目的开发效率,节省开发的成本(人力成本较高,代码可以尽量复用),很多都会采取父子嵌套的结构搭建Maven项目。如图,这个内容就是后端模块(blog-admin)的pom.xml信息,和前端模块(hnseo321-blog)的配置信息基本上是一样的,都带有一个parent标签(声明自己隶属于谁),都有一个依赖项(告诉springboot框架,我需要依赖于哪个子模块的代码信息。里面的重点是:你只需要配置好你的子模块(子项目)的名字即可。原创 2024-02-23 10:53:09 · 1141 阅读 · 1 评论 -
个人网站如何调用微信公司的登录接口,实现微信登录
个人网站如何调用微信公司的登录接口,实现微信登录!如果你个人网站想使用微信公司的登录接口,目前是需要收费的,微信公司登录接口不再是免费的了。需要缴纳认证费,每年认证费是300元/年。才能调用微信的登录接口。不论它是否收费,我都放弃这个功能了。不再使用了,下面是来自chatgpt给我写的一个调用微信登录接口的代码Demo.分享给大家。如图,也有人说是免费的。原创 2024-02-23 10:29:35 · 1526 阅读 · 0 评论 -
redis存储对象的过期设置在实际项目中的运用案例展示
那么,背包中的这束鲜花,就已经开始加入到了我们的redis数据库中了。经过前面的学习,我们已经基本上初步掌握了redis数据库存储对象的过期时间是如何设置的了。也会触发状态的改变。但是,尽管如此,他们彼此之间还是存在一些差异的,比如鲜花会存在枯萎的情况,这个就是涉及到了有效期的问题。如图,既然涉及到了有效期(过期)的业务需求,这个商品本身,必须具备一个唯一的键值,才能和别的商品区分开。枯萎后的鲜花,是不能继续使用的。如上所示,我们mysql数据库用户背包内存储的鲜花道具的状态,是否发生变化,取决于2件事。原创 2024-02-03 17:06:36 · 794 阅读 · 0 评论 -
深入分析AOP+自定义注解+RBAC实现操作权限管理设计思想
比如大家在优酷app里面,可以偶尔会看见推荐过来的电影,需要会员的角色身份,才能播放。以及,权限管理的核心思想是什么。任何软件系统里,都会涉及到权限管理,一般市面上我们常见的是springSecurity.很多朋友对这个框架都熟悉,它经常被用来进行身份的认证和权限的判定。因此需要增加系统自动校验,选择了操作权限,就默认是开启了查看(数据)的权限。如果你们公司的项目,对权限管理的较为宽松,使用市面上开源的权限管理框架就够了。如图,我们只需要把用户可以具备的角色设置好,就可以让它自动实现权限的控制了。原创 2024-02-01 13:52:33 · 721 阅读 · 1 评论 -
springboot+AOP+RBAC自定义权限访问控制03
如图,我们已经拿到了用户的id为3.查询到了该用户的权限情况。所以返回了result为false.意味着当前登录的用户,是无权访问该接口地址的。我们提前准备好了新闻的管理层控制器,业务层接口,持久层接口等。我们使用了一个产品管理员+vip会员的角色账号,来请求新闻的业务接口。我们为了测试权限的鉴别效果,我们提前准备了一个新闻实体类,对应数据库的tb_news数据表。如图,这个是我们 自定义的一个权限访问类,里面我们已经把它提前做好了配置。我们在headers里面配置了用户的id,模拟真实的场景。原创 2024-02-01 13:25:28 · 768 阅读 · 0 评论 -
springboot+AOP+自定义注解+RBAC自定义操作权限管理02
经过上一次的凑话部署,我们这一次,增加了一个后端管理系统菜单栏的访问权限的数据表。用角色表,和这张菜单栏的数据表进行映射。不同的角色,可以看见不同的菜单栏目。经过这次修改后,我们的另外一个表就需要进行一些稍微的变化。我们再次修正完善了一下,返回一个结果对象,到前端就可以看见返回的user信息了。由于我们增就了角色和菜单的映射,所以,role角色的实体类里面应该新增一个list集合。如图,不同的角色,对应各自不同的menu_id。如图,我们设计了很多菜单的入口,所有的菜单入口地址都在这张表内。原创 2024-01-31 15:40:47 · 694 阅读 · 0 评论 -
springboot+AOP+自定义注解+RBAC自定义操作权限管理01
搭建了一个基础的springboot项目,和数据库的三张表。实现了一个基础的,用户和角色表的联动查询。第二个参数是配置了多对多的关系映射。正向链接用户表的user_id字段,反向链接角色表的role_id字段。就可以实现了,三张表的联动查询了。比如用户的基本信息,和用户具备的角色信息。如图,代码里面,user实体类,里面多出来一个list的属性。如图,在控制台打印成功了,我们拿到了该用户的所有信息。包括他具备的角色信息集合。角色信息是可以多对多的。多对多的关系,存储变量使用list集合。原创 2024-01-31 14:32:20 · 702 阅读 · 0 评论
分享