我是 Spring 和 SpringSecurity 的新手。
我在我的数据库中有我用他们的密码存储用户的表。 ( Postgresql 数据库)。每当我在表格中插入新记录时,我都会有一个使用 md5 算法加密密码的触发器。在我的应用程序中,我使用Spring,并尝试使用 SpringSecurity 3.2模块。我提供了自己的UserDetailsService
服务。问题是我不知道如何在这种情况下使身份验证成功。我认为由于密码与数据库 md5 算法一起存储,因此spring无法对用户进行身份验证。有没有人对我该怎么做有任何建议。
如果您需要任何代码示例,请向我索取。
答案 0 :(得分:3)
我认为春天因为事实而未能对用户进行身份验证 密码与数据库md5算法一起存储
你是对的。您的解决方案会导致数据库中的密码被加密,但是当用户尝试登录时,他输入了他的密码,然后是Spring(我猜它是Spring,对吧?)尝试在数据库前面比较它。因此,Spring将纯文本与加密文本进行比较,但失败了。
解决方案是在登录时加密用户输入的密码,然后在数据库前对其进行比较。
Spring有in their DOCS几个例子。