记录一次springsecurity5.0.6做权限登录异常缓慢的问题解决记录

本文介绍了解决Spring Security登录速度缓慢的方法。通过调整依赖、使用MD4密码加密及自定义密码加密类来提高登录效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

添加pom依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<version>2.0.3.RELEASE</version>
</dependency>

此依赖会加载 springsecurity5.0.6版本

做完权限功能后,发现登录异常缓慢,启动后的第一次登录需要14s,退出后登录需要7s。
把日志打印设置到debug级别,发现日志打印的时间有两个差距巨大的断层,没个断层有7秒,而且都是在 继承 UserDetailsService 这个类之前或者之后

进入自定义用户类之前一次打印为 o.s.s.authentication.ProviderManager - Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider

然后根据日志找到 ProviderManager.java 和 DaoAuthenticationProvider.java(在security的核心包core中)

 

然后发现是标红处的执行时间特别长,然后断点一步步走下去

 

 

BCrypt.checkpw(rawPassword.toString(), encodedPassword);卡死


原来是自己选用的密码加密器一直有问题

 

然后果断修改一个, 这么多可以用的 最后选择用了 Md4PasswordEncoder 虽然已经过时了 但是为了验证是否是加密器的问题 还是修改了,改完之后,登录果然秒入了(修改了加密器 还需要修改密码 不然匹配方式不一样是不能登录的)


 

当然 看着过时类的横线不爽,自己还可以写一个 MD5的或者AES的 只要实现 org.springframework.security.crypto.password.PasswordEncoder 这个类的两个方法就行


 


我自己用MD5实现一个密码加密类。

添加完自定义类之后 还需要在配置文件中添加配置,修改密码后登录也是秒速

 









转载于:https://www.cnblogs.com/PJH-Forever/p/9371870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值