mysql未找到bcrypt_mysql - Spring Boot:编码后的密码看起来不像BCrypt - SO中文参考 - www.soinside.com...

我最近遵循了有关授权和认证(登录)的教程,一切正常,但是每次我输入用户名和密码时,都显示出错误的凭据错误。这是我的代码。

WebSecurityConfig.java@Configuration

@EnableWebSecurity

public class WebSecurityConfig extends WebSecurityConfigurerAdapter {

@Autowired

UserDetailsServiceImpl userDetailsService;

@Bean

public BCryptPasswordEncoder passwordEncoder() {

BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder();

return bCryptPasswordEncoder;

}

@Autowired

public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {

// Setting Service to find User in the database.

// And Setting PassswordEncoder

auth.userDetailsService(userDetailsService).passwordEncoder(passwordEncoder());

}

}

UserDAO.java@Repository

@Transactional

public class UserDAO extends JdbcDaoSupport {

@Autowired

public UserDAO(DataSource dataSource) {

this.setDataSource(dataSource);

}

public WebUser findUserAccount(String userName) {

// Select .. from App_User u Where u.User_Name = ?

String sql = WebUserMapper.BASE_SQL + " where u.Username = ? ";

Object[] params = new Object[] { userName };

WebUserMapper mapper = new WebUserMapper();

try {

WebUser userInfo = this.getJdbcTemplate().queryForObject(sql, params, mapper);

return userInfo;

} catch (EmptyResultDataAccessException e) {

return null;

}

}

}

WebUserMapper.javapublic class WebUserMapper implements RowMapper {

public static final String BASE_SQL //

= "Select u.Id, u.Username, u.Pass From User u ";

@Override

public WebUser mapRow(ResultSet rs, int rowNum) throws SQLException {

Long userId = rs.getLong("Id");

String userName = rs.getString("Username");

String encrytedPassword = rs.getString("Pass");

return new WebUser(userId, userName, encrytedPassword);

}

}

EncryptedPasswordUtils.javapublic class EncrytedPasswordUtils {

public static String encrytePassword(String password) {

BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();

return encoder.encode(password);

}

}

这是我的数据库:

eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS8xRXZLci5wbmcifQ==

错误:Found User: test/$2y$12$nUaUkOYaz0hAsgSippzpdeYPPqFsx3zKT9/H5vojD.YBBlZhLo4RG

2018-10-22 09:53:20.054 WARN 11316 --- [nio-8080-exec-6] o.s.s.c.bcrypt.BCryptPasswordEncoder : Encoded password does not look like BCrypt

希望您能帮助我。可以找到用户名,并且每次我尝试使用不在数据库中的用户名和密码时,都会显示错误。即使我输入正确的密码“ 123”,它也会返回错误的凭据。非常感谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值