问题描述

或者

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]相关推荐

  1. 关于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 ...

  2. Spring Security login

    参考文献: https://www.websparrow.org/spring/spring-security-jdbc-authentication-with-spring-boot https:/ ...

  3. Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园...

    Spring Security笔记:使用数据库进行用户认证(form login using database) - 菩提树下的杨过 - 博客园 在前一节,学习了如何自定义登录页,但是用户名.密码仍然 ...

  4. Spring Security——自定义认证错误提示信息及自适应返回格式解决方案

    解决方案 package com.hailiu.web.handler;import com.hailiu.model.Log; import com.hailiu.web.bean.Response ...

  5. Spring Security MVC登录注销示例教程

    Spring Security MVC登录注销示例教程 今天我们将了解Spring Security Login Example.在阅读这篇文章之前,请先阅读我在"Spring 4 Secu ...

  6. OAuth与Spring Security

    摘自Wikipedia: OAuth ( 开放式身份验证 )是一种开放式身份验证标准. 它允许用户与其他站点共享存储在一个站点上的私有资源(例如照片,视频,联系人列表),而不必发出其凭据(通常是用户名 ...

  7. thymeleaf 判断页面不显示_Thymeleaf 中 Spring Security 的使用 0151

    Spring Security 可以在一些视图技术中进行控制显示效果.例如: JSP 或 Thymeleaf.在非前后端分离且使用 Spring Boot 的项目中多使 用 Thymeleaf 作为视 ...

  8. Spring Security总结之如何让认证失败消息自定义在前端页面显示(一)

    采用springboot+thymeleaf 前端登录页面代码 <form action="/doLogin" method="post">用户名: ...

  9. 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)上的现 ...

最新文章

  1. 编写你人生中第一个机器学习代码吧!
  2. 读书人:人机融合中的深度态势感知
  3. 上周新闻回顾:Vista麻烦不断 Office波澜再起(2.26-3.4)
  4. python 语义网络_专家鉴定这是2019最顶级的python框架,没有之一
  5. BZOJ-1045 糖果传递 数学+递推
  6. linux串口上网的简单实现,Linux串口上网的简单实现(3)
  7. iOS开发 UIPanGestureRecognizer手势抽象类
  8. jQuery学习之:Validation表单验证插件
  9. java方法示例注释 @_Java 8中的功能接口是什么? @功能注释和示例
  10. 【牛客 - 331D】炫酷路途(二进制枚举 或 建图方式+最短路 或 dfs)
  11. adb shell top 使用
  12. Choose and divide(唯一分解定理)
  13. java编程用什么文本编辑器_编程必备,程序员应该都知道的7款文本编辑器
  14. erstudio连接mysql_ERStudio下载|数据库建模工具(ER/Studio Data Architect)下载 v17.0.2 官方32/64位版 - 比克尔下载...
  15. 运维工程师面试题及答案(网络运维工程师面试题)
  16. 如何成为Web开发人员—编写第一个Web应用程序
  17. 将图片转化为数据储存
  18. 搭建深度学习后台服务器
  19. 资深投资人“厂长”沈忱:布局区块链就是在布局新的工业革命
  20. asobject java_函数即对象(FunctionAsObject)- Martin Fowler博客

热门文章

  1. 解决KMP看高清电影背景声大说话声小问题
  2. 有服务器风扇声音对胎儿有影响吗,大噪音对胎儿的影响
  3. linux基础分支,Linux基础--/etc/shadow中字段的分支和操作
  4. 计算机C语言知识点免费下载,全国计算机二级C语言知识点
  5. java 计算器 junit测试_Java中Junit4测试实例
  6. 计算机系学生的职业生涯作文,医学生职业生涯规划的作文800字
  7. matlab电力系统潮流计算,大神们,求个电力系统潮流计算的matlab程序。
  8. 四十三、Scrapy 爬取前程无忧51jobs
  9. sklear多项式回归
  10. 机器学习一定要很优秀才能做嘛?其实我们都可以。