- 博客(110)
- 收藏
- 关注
原创 04.Spring Boot 中的 Spring Security 自动配置初探
我们在前几篇对 Spring Security 的用户信息管理机制,密码机制进行了探讨。我们发现相关的Servlet自动配置都在(当前 Spring Boot 版本为) 模块的路径之下。其实官方提供的Starter组件的自动配置你都能在下找到。今天我们进一步来解密在的配置和使用。本文主要对 Spring Security 在 Spring Boot 中的自动配置一些机制进行了粗略的讲解。为什么没有细讲。因为从学习出发有些东西不是我们必须要深入了解的,但是又要知道一点点相关的知识。
2023-08-17 10:38:53
398
原创 03.Spring Security 如何保护用户密码
上一文我们对Spring Security中的重要用户信息主体进行了探讨。中间例子我们使用了明文密码,规则是通过对密码明文添加{noop}前缀。那么本节将对 Spring Security 中的密码编码进行一些探讨。今天我们对Spring Security中的密码编码进行分析。发现了默认情况下使用bcrypt进行编码。而密码验证匹配则通过密码暗文前缀中的加密方式id控制。你也可以向Spring IoC容器注入一个类型的Bean 来达到自定义的目的。我们还对bcrypt。
2023-08-16 14:25:49
218
原创 02.用户信息UserDetails相关入门
前一篇介绍了入门的基础准备。从这篇开始我们来一步步窥探它是如何工作的。我们又该如何驾驭它。本篇将通过来讲解中的用户主体。以及从中找点乐子。我们来自定义一个来看看能不能达到自定义用户管理的效果。首先我们针对import org/*** 代理 {@link org.springframework.security.provisioning.UserDetailsManager} 所有功能。
2023-08-15 09:57:48
1528
原创 01.学习Spring Security基本概念
web应用达到生产需要就必须有安全控制。java web领域经常提及的两大开源框架主要有两种选择Spring Security和Apache Shiro。所以学习这两种框架也是java开发者提高水平的必经之路。从今天开始连续一段时间内,研究一下Spring Security。Felordcn或者通过来及时获取相关的干货。
2023-08-14 15:35:26
128
原创 JAVA POI 图片插入excel保存导出,可多图,多种插入样式
【代码】JAVA POI 图片插入excel保存导出,可多图,多种插入样式。
2023-07-05 15:23:05
1600
原创 JAVA POI的excel中包含图片进行读取保存,单张图片,多张图片
--------------------------------------------效果----------------------------------------------------------
2023-07-05 15:19:18
4526
原创 Java设计模式 14-访问者模式
1)访问者模式(Visitor Pattern),封装一些作用于某种数据结构的各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。2)主要将数据结构与数据操作分离,解决数据结构和操作耦合性问题3)访问者模式的基本工作原理是:在被访问的类里面加一个对外提供接待访问者的接口4)访问者模式主要应用场景是:需要对一个对象结构中的对象进行很多不同操作(这些操作彼此没有关联),同时需要避免让这些操作"污染"这些对象的类,可以选用访问者模式解决。
2023-05-16 22:23:37
475
原创 无法在IA 32位平台上加载AMD 64位.dll ith error: Can‘t load AMD 64-bit .dll on a IA 32-bit platform
Can’t load AMD 64-bit .dll on a IA 32-bit platform错误的解决办法。因为本机JDK版本为32位的,而加载的dll为64位版本,所以启动出错,删除本地JDK版本,然后去官网。,下载64位版本的,重新安装,
2023-05-16 16:05:10
1607
原创 Java设计模式 13-命令模式
1)命令模式(Command Pattern):在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计2)命名模式使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活,实现解耦。3)在命名模式中,会将一个请求封装为一个对象,以便使用不同参数来表示不同的请求(即命名),同时命令模式也支持可撤销的操作。4)通俗易懂的理解:将军发布命令,士兵去执行。
2023-05-15 09:31:17
383
原创 Java设计模式 12-模版模式
基本介绍1)模板方法模式(Template Method Pattern),又叫模板模式在一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。2)简单说,模板方法模式定义一个操作中的算法的骨架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构,就可以重定义该算法的某些特定步骤3)这种类型的设计模式属于行为型模式。
2023-05-10 21:08:37
674
1
原创 IDEA小技巧-Git的回滚&&强推&&代码找回
在选定提交之后所做的更改将被保留,但不会暂存以进行提交,commit的内容都会保留,新增文件在工作区,文件变更在暂存区。在选定提交之后所做的所有更改都会被丢弃(暂存和已提交),commit的内容+暂存区的内容全部被丢弃。在选定提交后做的所有更改都在暂存区,commit的内容都会保留,其新增文件+文件变更都在暂存区。在选定提交之后的已commit内容将被丢弃,但未commit的部分将保留。keep回退 是回滚commit的变更保留本地的更改。mlxed回退 新增文件在工作区中,更改的在暂存区。
2023-05-09 19:32:21
4327
原创 如何更好地刷力扣
之前刷力扣是一口气看很多题目,打算时不时看一会题解,逐渐熟悉套路,争取背过,最后就可以写出来了。由于自己基础比较差,写程序总是有很多bug,我找bug又很弱,经常半天找不出来一个bug,很耗费时间。所以其实心里就比较抵触吧。本身就比较复杂,不经过实际写代码中的思考过程,是无法真正理解代码和算法的,其中重要的细节也更容易忽视。不过之前的想法,我认为还是有正确的部分的,比如直接背题解,毕竟时间有限,我脑子不仅慢而且喜欢犯晕hhh。我也反思了自己,之前一方面是方法不合适,另一方面也是自己懒,懒得动脑,懒得动手。
2023-05-09 16:40:27
783
原创 06-引入SpringSecurity 尚筹网
用户登录系统时我们协助 SpringSecurity 把用户对应的角色、权限组装好,同时把各个资源所要求的权限信息设定好,剩下的“登录验证”、“权限验证”等等工作都交给SpringSecurity。
2023-05-08 09:55:32
695
原创 大佬学习经验分享
如果你感觉学得很累、进步很慢,也不要放弃,坚持下来就会越来越好。我刚毕业那会儿,有一阵子也对 OOP 很迷茫,感觉根本无法理解 OOP 的理念,写出的代码完全是过程化的代码。但我没有放弃,参与写了几年的复杂业务程序,再加上系统自学设计模式,到某一个时刻我突然就能写出 OOP 的业务代码了。学习一定是一个日积月累、量变到质变的过程,希望我分享的学习方法能对你有启发。不过,每个人的情况都不同,一定要找到适合自己的学习方式,才更容易坚持下去。
2023-05-06 20:52:22
584
原创 05-权限分配 尚筹网
权限控制机制的本质就是“用钥匙开锁”。在实现权限控制之前,这里先完成给Admin分配Role和给Role分配Auth的功能。
2023-05-06 15:30:56
1054
原创 JAVA常用的工具类
我们都知道,java中的很多集合,比如:ArrayList、LinkedList、HashMap、HashSet等,都是线程不安全的。中传递信息,比如:traceId,source等,便于在查询日志时能够串联一次完整的请求链路,快速定位问题。包下的一个类,它的全称是Mapped Diagnostic Context,我们可以认为它是一个线程安全的存放诊断日志的容器。**接口,MDC中获取当前请求的traceId,然后设置到header中。**方法,将这些线程不安全的集合,直接转换成线程安全集合。
2023-05-04 11:11:59
3397
原创 03-角色维护 尚筹网
给铅笔按钮绑定单击响应函数,打开修改角色的模态框,且角色名的文本框中回显当前角色的名称,通过点击模态框中的更新按钮,获取文本框中获取到的角色名,给后端发送Ajax请求,最后完成后关闭模态框,显示操作结果,重新加载分页。 给新增按钮绑定单击响应函数,用于打开模态框,模态框中点击保存后,获取输入的信息,将其中信息通过Ajax请求的方式发送给后端,然后关闭模态框,显示操作结果,清理模态框中的文字,重新加载分页。 ②通过maven中的工具,执行逆向工程,并把生成的内容都移动到正确的位置。
2023-05-03 21:28:09
721
原创 02-管理员登录与维护 尚筹网
另外,在正式的项目中,一般不会将数据库中的信息完全抹去,因为抹去后恢复就很难了,一般可以在表中设置一个状态码,如1表示用户可用,0表示不可用,也就代表被删除了) action指向controller层的查询的方法,且在表单中,附带了 name=“keyword” 的数据,也就将keyword带给了后端,后端通过@RequestParam接收keyword,传递给service层等等后续操作。源代码会在绘制完整个导航条后,自动调用回调函数,这样会造成代码死循环,因此需要将调用回调函数的代码去掉。
2023-05-03 11:34:02
577
原创 01-环境搭建 尚筹网
环境搭建一、项目结构搭建 模块关系 parent模块仅仅用来确定各个Maven依赖的版本 webui、component、entity模块继承自parent模块 util、reverse模块属于独立工程,不参与继承与聚合 且webui依赖于component,component依赖于entity、util。各个工程的打包方式:<!--parent--> <groupId>org.example</groupId> <
2023-04-30 21:14:45
727
原创 正则需要转义
Pattern pattern = Pattern.compile(shopOrderFieldEntity.getRegular().replace(“\\”, “\”));Matcher matcher = pattern.matcher(shopTeamTourist.getTeamRouteIdcard());
2023-04-18 15:08:22
100
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人