在 spring security UI grails 插件中添加更多属性

Posted

技术标签:

【中文标题】在 spring security UI grails 插件中添加更多属性【英文标题】:Add more properties in spring security UI grails plugin 【发布时间】:2021-06-26 00:56:02 【问题描述】:

我正在使用Grails 4.0.9spring security core grails plugin 4.0.3spring-security-ui:4.0.0.M1,我想在用户注册时添加一些属性,例如telephone number and age,我如何在使用默认Spring security default UI 时做到这一点

【问题讨论】:

【参考方案1】:

插件为您生成默认实现。因此,您需要更新 RegisterController 和表单的默认生成模板。

请查看插件文档中的customisation section。

【讨论】:

我按照文档中的说明添加,它创建了一个空的注册控制器!所以我从插件中找到的原始操作复制了所有操作,还复制了RegisterContoller内的RegisterCommand,但是在按下create your account后我得到了这个错误No signature of method: grails.plugin.springsecurity.ui.strategy.DefaultRegistrationCodeStrategy.createUser() is applicable for argument types: (c.s.RegisterCommand) values: [c.s.RegisterCommand@3eabeea3] Possible solutions: createUser(grails.plugin.springsecurity.ui.RegisterCommand) 能否分享一个示例应用程序? ,发现共享代码有什么问题吗? 是的,您看到上述错误是因为您使用不同的 RegisterCommand 类调用 uiRegistrationCodeStrategy.createUser(registerCommand)。您需要将此实现更新为自定义。 根据您的要求,您想要的是重用 UI,而其他一切都需要自定义或扩展现有类。因此,您可能需要使用新 bean 覆盖 SpringSecurityUiService bean 定义,该新 bean 将添加 createUser(MyRegisterCommand)

以上是关于在 spring security UI grails 插件中添加更多属性的主要内容,如果未能解决你的问题,请参考以下文章

Grails 3.3.9 spring security 3.2.3 spring security ui 3.1.2 无法更改用户数据

Grails Spring Security UI、用户和​​角色管理访问

grails spring-security-ui 插件重定向回应用程序

Spring Security UI 和 grails 2.0

grails spring security ui在用户域类上没有电子邮件字段

如何通过spring-security-ui保存属于用户的合作伙伴?