控制台报错: Encoded password does not look like BCrypt 意思是前端传回去的密码格式与数据库里的密码格式不匹配,这样即使密码正确也无法校验.自然也就无法登录. 造成这种情况的原因主要有以下几点: 1.登录时,service中的加密类与数据库中密码所采用的加密类不同. service中的加密 数据库中的加密 2.也有可能是其中一个加密了,一个没加密 当密码取值前这样写:代表着从数据库取值时,不采取加密方式 当service中的新增方法不写加密时,也会导致此…
前言 最近LZ给项目框架升级, 从Spring1.x升级到Spring2.x, 在这里就不多赘述两个版本之间的区别以及升级的原因. 关于升级过程中踩的坑,在其他博文中会做比较详细的记录,以便给读者参考,不要掉进同样的坑里. 这里我们讨论一个关于URL中包含双斜杠被拦截的问题. 发现问题 升级框架之后,测试一个功能时,发现报错Http 500, 第一时间怀疑是后台功能报错.打印后台错误日志,发现报错信息:The request was rejected because the URL was no…
查了下发现是spring security 版本在5.0后就要加个PasswordEncoder了 解决办法 在securityConfig类下加入NoOpPasswordEncoder,不过官方已经不推荐了 @Bean public static NoOpPasswordEncoder passwordEncoder() { return (NoOpPasswordEncoder) NoOpPasswordEncoder.getInstance(); } 在securityConfig类下加入…
报错信息 <MethodNotAllowed> <error>method_not_allowed</error> <error_description>Request method 'GET' not supported</error_description> </MethodNotAllowed> 39是单引号 原因 默认只支持post 解决方法 下载安装postman工具(或其他post工具) 使用post调用 代码增加get的…
Spring Security 上 Security-dome 1.创建项目 创建一个Spring Boot项目,不用加入什么依赖 2.导入依赖 <dependencies> <!--启动器变为 web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> &…
账户密码存储的安全性是一个很老的话题,但还是会频频发生,一般的做法是 SHA256(userInputpwd+globalsalt+usersalt) 并设置密码时时要求长度与大小写组合,一般这样设计可以满足绝大部分的安全性需求.更复杂一些的方案有组合算法签名(比如:SHA256 + BCRYPT 组合 ) , 两步认证,Password Hash 等. 在之前集成  spring-security-oauth2 搭建 OAuth2.0 服务,依赖项 Spring Security 5 默认引入…
        摘要:Spring Security与Oauth2整合步骤中详细描述了使用过程,但它对于入门者有些重量级,比如将用户信息.ClientDetails.token存入数据库而非内存.配置过程比较复杂,经过几天时间试验终于成功,下面我将具体的使用Spring Security Oauth2完成password认证的过程记录下来与大家分享.         关键字: HTTP Authentication, rest, spring security, spring mvc      …
一.Spring Security 1.什么是 Spring Security? (1)基本认识 Spring Security 是基于 Spring 框架,用于解决 Web 应用安全性的 一种方案,是一款优秀的权限管理框架. Web 应用的安全一般关注 用户认证(authentication) 以及 用户授权(authorization) 这两个部分.简单的理解就是 Web 应用 如何确定 你是谁 以及 你能干什么. [官网地址:] https://spring.io/projects/spr…
目录 BCryptPasswordEncoder加密和对密码验证的原理 一.加密算法和hash算法的区别 二.源码解析 1. encode方法 2. BCrypt.hashpw方法 3. matches方法 三.总结 BCryptPasswordEncoder加密和对密码验证的原理 上一篇:spring security进阶2 添加账户并对账户密码进行加密 spring security中提供了一个加密类BCryptPasswordEncoder,可以用来对密码字符串进行加密,得到加密后的字符串…
最近在写用户管理相关的微服务,其中比较重要的问题是如何保存用户的密码,加盐哈希是一种常见的做法.知乎上有个问题大家可以先读一下: 加盐密码保存的最通用方法是? 对于每个用户的密码,都应该使用独一无二的盐值,每当新用户注册或者修改密码时,都应该使用新的盐值进行加密,并且这个盐值应该足够长,使得有足够的盐值以供加密.随着彩虹表的出现及不断增大,MD5算法不建议再使用了. 存储密码的步骤 使用基于加密的伪随机数生成器(Cryptographically Secure Pseudo-Random Num…