java - 如何使用 Spring 验证密码

标签 java spring authentication passwords

我已经找到了如何使用 SpringMVC 对某人的密码进行哈希处理并将其保存在数据库中:

BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String pw = passwordEncoder.encode("test");

现在的问题是,我如何验证来自请求的密码,让用户登录我的网络应用程序? 经过一些研究,我发现有很多方法可以做到这一点。一些解决方案适用于用户角色。

我的 webapps 应该做的是为我的用户提供一个他们可以注册的登录页面(在这里我会使用上面显示的代码保留密码)。后 注册他们应该能够登录,这意味着我需要从登录表单验证密码。 那里有任何最先进的例子吗?

最佳答案

这是将原始密码与编码密码相匹配的方式:

passwordEncoder.matches("rawPassword", user.getPassword()),

但正如其他人所说,自己编写安全代码很麻烦,因此我建议改用 Spring Security。是的,它确实需要努力学习,但你可以找到很好的教程。 Here是关于它的独特教程(免责声明:我是作者)。

关于java - 如何使用 Spring 验证密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32105906/

相关文章:

php - Paypal 沙盒 API 10055 错误?

java - 如何在Java(android)中自定义SimpleDateFormat()的日期格式?

java - 无法为 ListPreference android 首选项屏幕设置字符串默认值

java - 流式集合可以用 Java 实现吗?

java - Spring data MongoDB 检查字段是否包含文本

安卓 Google+ session

ruby-on-rails-3 - Devise 中的 token 可验证模块

java - JVM 上的 2d 多媒体库

java - Spring boot中的RestController - 404错误而不是JSON对象

java - 如何在不使用 hibernate 拦截器从数据库中获取的情况下获取previouseState来创建审计跟踪表?