我正在使用Grails Spring Security Plugin 1.2.7.3
並希望通過電子郵件地址和密碼進行用戶身份驗證。我希望電子郵件地址成爲主要的登錄ID。Grails Spring Security自定義UserDetailsService(電子郵件的目標代替用戶名)
我遇到了以下Nabble post regarding case insensitive usernames,其中原來的海報正在嘗試做同樣的事情。但是,我是一個有點困惑的幾個要點:
我明白,我需要寫我自己的實現的
UserDetailsService
和grails-app/conf/spring/resources.groovy
註冊。但是,我不確定哪個文件夾
UserDetailsService
的自定義實施應該去(最佳實踐)。我的猜測是/grails-app/services
,/grails-app/utils
或/src/groovy
。有沒有人做過這個之前和自定義UserDetailsService
最好的地方在哪裏?我讀的文檔本章內容:http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/11%20Custom%20UserDetailsService.html,但我真的沒有看到什麼Grails的文件夾,把它在指導
我通過S2命令創建我的用戶域類:
s2-quickstart com.philiptenn.security User Role Requestmap
如果我要將字段
User.username
重命名爲User.email
以便我的代碼更清晰,我是否會受到傷害?我做了這個領域查找使用實例,一個在DefaultSecurityConfig.groovy伸出:
userLookup.usernamePropertyName = 'username'
我能不能更新此閱讀: DefaultSecurityConfig.groovy:
userLookup.usernamePropertyName = 'email'
謝謝。
謝謝,這工作,我現在使用電子郵件。還有一個問題......我應該在哪裏放置一個自定義的Spring Security UserDetailsService?我在想'/ grails-app/services',那是對的嗎? –
我希望別人可能會考慮到這一點,我注意到在我的幾個應用程序中,我在'/ src/groovy'中使用了'CustomUserDetailsService',但可以認爲它沒有很好的理由,而不是在'grails-app/services'。 – doelleri
沒問題,謝謝。我可能會把它放在'src/groovy'中,因爲它聽起來像是可行的。 –