簡體   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