我刚刚开始使用grails并安装了spring-security和spring-security-ui插件。我正在按照here给出的教程。该应用程序以一个具有me
的自举用户ROLE_ADMIN
权限开始。
使用UI覆盖脚本,我能够启动并运行注册功能,并且可以正常工作。现在,我已经安装了用户管理脚本(grails s2ui-override user
)来尝试添加,编辑和删除用户。
新用户被创建得很好,我已经针对HSQLDB实例进行了检查。但是,如果我现在从应用程序注销并尝试使用新创建的用户登录,则应用程序会告诉我它无法找到具有所提供用户名和密码的用户。
我没有修改默认的注销处理,因此正在使用/j_spring_security_logout
,因为文档说明会话无效。
这是一个知道问题吗?如果是这样,我该如何解决这个问题,如果不能解决这个问题呢?
编辑:
如果没有添加UI,此问题也会持续存在。注册为新用户。完成电子邮件验证后,您将自动登录该站点。现在注销并尝试再次登录。它给出了同样的错误。
最终编辑:
UI插件附带RegisterController,它仍然对密码进行编码。但是,核心附带的较新域类也在执行此操作,建议的做法是控制器不应该这样做。我注释掉了一行执行编码,登录/注销现在至少适用于基本场景。
答案 0 :(得分:7)
该教程有警告
该插件的早期版本在域类中不包含密码加密逻辑,但它使代码更加清晰。
我猜测security-ui插件不知道该更改,并将未加密的密码与数据库中的加密密码进行比较。
答案 1 :(得分:3)
编辑:如果您无法确定编辑控制器的位置,您可以在用户家中找到已下载插件的源代码
/。Grails的/版本/项目/项目名称/插件
编辑目录(至少在Mac / Linux上,你可以在windows中找到它的dunno)。