我使用 grails 进行 Web 开发,使用 Spring Security 进行身份验证和授权。
我想制作一个简单的表单来允许用户更改密码。这是一个包含三个密码字段的表单。第一个用于当前(旧)密码。第二个和第三个是用于验证的新密码,以防止意外输入错误。
问题是我无法找出根据当前密码验证旧密码的正确方法。我考虑过使用springSecurityService.encodePassword
函数并比较哈希值来手动完成。但我不确定这是否是正确的做法。
此表单仅供已经登录的用户访问。如果攻击者以某种方式控制了会话(例如用户忘记注销),则询问密码应该可以阻止攻击者更改密码
有没有弹簧安全的方法来做到这一点?