我需要能够以管理员用户身份更改用户的密码,有点像可以通过电话执行的手动密码重置功能。我如何使用 Grails Spring Security 插件来做到这一点?我尝试寻找有关如何完成此操作的文档,但没有找到任何结果。
最佳答案
@AA 的答案在技术上是正确的,但过于笼统,因为插件必须基于配置。真正的代码会更加紧凑,因为您可以对类和字段名称进行硬编码。此外,由于您只要求更新密码,因此最后的角色更新不相关。
如果您的用户类名称是User
,则使用此操作显示用户信息:
def editUserPassword() {
[user: User.get(params.userId)]
}
并在 GSP 中配置表单(类似于生成的 edit.gsp
)以发布到此操作:
def updateUserPassword() {
def user = User.get(params.userId)
user.password = params.newPassword
if (!user.save())
render view: 'editUserPassword', model: [user: user]
return
}
// redirect to the 'success' page or render the user with [user: user]
}
将 userId
和 newPassword
更改为您实际使用的任何参数名称
关于grails - 如何使用 Grails Spring Security 以编程方式更改管理员身份的用户密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12185789/