记录一次springsecurity5.0.6做权限登录异常缓慢…
2018-07-27 06:23:41来源:博客园 阅读 ()
添加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实现一个密码加密类。
添加完自定义类之后 还需要在配置文件中添加配置,修改密码后登录也是秒速
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- JAVA 每次从List中取出100条记录 2020-05-27
- 初识JAVA(学习记录) 2020-05-19
- Tomcat视角看一次http请求 2020-05-18
- 错题记录——关于Java中private的用法(类与封装) 2020-05-16
- 坚持学习,坚持写博客,记录学习的点点滴滴,先从学习JAVA开 2020-05-16
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash