繁体   English   中英

使用用户名作为电子邮件,Spring Security UI插件

[英]Use username as email, Spring Security UI plugin

我将Spring Security插件与Spring Security UI插件结合使用。

它们都像超级按钮一样工作,但是我的问题是我不希望用户拥有用户名,而是他/她应使用电子邮件作为用户名。

所以在注册阶段,我尝试从注册页面中删除用户名并进行设置

newUser.username = params.email

这样,插件仍然可以访问变量用户名,但这给了我验证错误,而我却想不出解决方法。

有任何想法吗? 有人做过类似的事情吗?

您可以修改Spring Security使用的默认用户字段

在您的Config.groovy中添加以下内容

grails.plugins.springsecurity.userLookup.usernamePropertyName ='XXX'

其中XXX是要使用的用户实体的字段

您可以在此处检查配置属性

我最近通过将视图和控制器从Spring Security插件复制到我的grails-app并更新了视图以将emailAddress显示为反对用户名来完成此操作。 我还用User域类中的emailAddress替换了username属性。 确保按照以下方式更新约束:

static constraints = {
    emailAddress email: true, blank: false, unique: true
    password blank: false, password: true
}

dimcookies的建议是正确的,并且适用于旧版本的Grails,新的语法配置(至少适用于Grails 2.3.1)是:

grails.plugin.springsecurity.userLookup.usernamePropertyName = 'emailAddress'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM