加密密码的Spring Security问题

时间:2014-04-10 11:30:04

标签: spring-mvc spring-security

我是 Spring SpringSecurity 的新手。 我在我的数据库中有我用他们的密码存储用户的表。 ( Postgresql 数据库)。每当我在表格中插入新记录时,我都会有一个使用 md5 算法加密密码的触发器。在我的应用程序中,我使用Spring,并尝试使用 SpringSecurity 3.2模块。我提供了自己的UserDetailsService服务。问题是我不知道如何在这种情况下使身份验证成功。我认为由于密码与数据库 md5 算法一起存储,因此spring无法对用户进行身份验证。有没有人对我该怎么做有任何建议。

如果您需要任何代码示例,请向我索取。

1 个答案:

答案 0 :(得分:3)

  

我认为春天因为事实而未能对用户进行身份验证   密码与数据库md5算法一起存储

你是对的。您的解决方案会导致数据库中的密码被加密,但是当用户尝试登录时,他输入了他的密码,然后是Spring(我猜它是Spring,对吧?)尝试在数据库前面比较它。因此,Spring将纯文本与加密文本进行比较,但失败了。

解决方案是在登录时加密用户输入的密码,然后在数据库前对其进行比较。

Spring有in their DOCS几个例子。

在这里:How to use new PasswordEncoder from Spring Security