Spring Security——login显示[Bad credentials]
问题描述
或者
org.springframework.security.authentication.BadCredentialsException: Bad credentials。
问题分析
一、username或者password错误
默认情况下,不管用户名不存在,还是密码错误,Spring Security都会报出Bad credentials异常信息,而不现实具体的错误。
源码:
org.springframework.security.authentication.dao.AbstractUserDetailsAuthenticationProvider
try { user = retrieveUser(username, (UsernamePasswordAuthenticationToken) authentication); } catch (UsernameNotFoundException notFound) { logger.debug("User '" + username + "' not found"); if (hideUserNotFoundExceptions) { throw new BadCredentialsException(messages.getMessage( "AbstractUserDetailsAuthenticationProvider.badCredentials", "Bad credentials")); } else { throw notFound; } }
二、访问权限不够
三、密码加密问题
对于密码加密问题可能是如下情况:
1.密码无加密,这时应该在密码前加上 {noop},具体原因请翻阅官方api
User user = new User(userInfo.getUsername(),"{noop}"+ userInfo.getPassword(),getAuthority(userInfo.getRoles()));
2.在配置文件中设置了密码加密却没有对其在service中对其应用
3.对比下存入用户到数据库时使用的加密算法,和Spring Security中配置的加密算法是否一致。
解决方案
见问题分析。
参考文章
https://blog.csdn.net/qq_37252930/article/details/95723940
https://blog.csdn.net/qq_41950229/article/details/98479327
https://www.cnblogs.com/jifeng/archive/2012/06/09/2542928.html
https://blog.csdn.net/weixin_44580977/article/details/98491875
Spring Security——login显示[Bad credentials]相关推荐
- 关于Spring Security中显示There is no PasswordEncoder mapped for the id “null“的问题分析
关于Spring Security中显示There is no PasswordEncoder mapped for the id "null"的问题分析 1 Spring Sec ...
- Spring Security login
参考文献: https://www.websparrow.org/spring/spring-security-jdbc-authentication-with-spring-boot https:/ ...
- Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园...
Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园 在前一节,学习了如何自定义登录页,但是用户名.密码仍然 ...
- Spring Security——自定义认证错误提示信息及自适应返回格式解决方案
解决方案 package com.hailiu.web.handler;import com.hailiu.model.Log; import com.hailiu.web.bean.Response ...
- Spring Security MVC登录注销示例教程
Spring Security MVC登录注销示例教程 今天我们将了解Spring Security Login Example.在阅读这篇文章之前,请先阅读我在"Spring 4 Secu ...
- OAuth与Spring Security
摘自Wikipedia: OAuth ( 开放式身份验证 )是一种开放式身份验证标准. 它允许用户与其他站点共享存储在一个站点上的私有资源(例如照片,视频,联系人列表),而不必发出其凭据(通常是用户名 ...
- thymeleaf 判断页面不显示_Thymeleaf 中 Spring Security 的使用 0151
Spring Security 可以在一些视图技术中进行控制显示效果.例如: JSP 或 Thymeleaf.在非前后端分离且使用 Spring Boot 的项目中多使 用 Thymeleaf 作为视 ...
- Spring Security总结之如何让认证失败消息自定义在前端页面显示(一)
采用springboot+thymeleaf 前端登录页面代码 <form action="/doLogin" method="post">用户名: ...
- 8. Spring Security 5.1之 OAuth 2.0 Login
1.OAuth 2.0 Login OAuth 2.0登录功能为应用程序提供了使用OAuth 2.0提供程序(例如GitHub)或OpenID Connect 1.0提供程序(例如Google)上的现 ...
最新文章
- 编写你人生中第一个机器学习代码吧!
- 读书人:人机融合中的深度态势感知
- 上周新闻回顾:Vista麻烦不断 Office波澜再起(2.26-3.4)
- python 语义网络_专家鉴定这是2019最顶级的python框架,没有之一
- BZOJ-1045 糖果传递 数学+递推
- linux串口上网的简单实现,Linux串口上网的简单实现(3)
- iOS开发 UIPanGestureRecognizer手势抽象类
- jQuery学习之:Validation表单验证插件
- java方法示例注释 @_Java 8中的功能接口是什么? @功能注释和示例
- 【牛客 - 331D】炫酷路途(二进制枚举 或 建图方式+最短路 或 dfs)
- adb shell top 使用
- Choose and divide(唯一分解定理)
- java编程用什么文本编辑器_编程必备,程序员应该都知道的7款文本编辑器
- erstudio连接mysql_ERStudio下载|数据库建模工具(ER/Studio Data Architect)下载 v17.0.2 官方32/64位版 - 比克尔下载...
- 运维工程师面试题及答案(网络运维工程师面试题)
- 如何成为Web开发人员—编写第一个Web应用程序
- 将图片转化为数据储存
- 搭建深度学习后台服务器
- 资深投资人“厂长”沈忱:布局区块链就是在布局新的工业革命
- asobject java_函数即对象(FunctionAsObject)- Martin Fowler博客
热门文章
- 解决KMP看高清电影背景声大说话声小问题
- 有服务器风扇声音对胎儿有影响吗,大噪音对胎儿的影响
- linux基础分支,Linux基础--/etc/shadow中字段的分支和操作
- 计算机C语言知识点免费下载,全国计算机二级C语言知识点
- java 计算器 junit测试_Java中Junit4测试实例
- 计算机系学生的职业生涯作文,医学生职业生涯规划的作文800字
- matlab电力系统潮流计算,大神们,求个电力系统潮流计算的matlab程序。
- 四十三、Scrapy 爬取前程无忧51jobs
- sklear多项式回归
- 机器学习一定要很优秀才能做嘛?其实我们都可以。