具有三个参数的Grails Spring安全认证
目前我有一个用户域模型,如下所示:具有三个参数的Grails Spring安全认证,grails,spring-security,grails-domain-class,Grails,Spring Security,Grails Domain Class,目前我有一个用户域模型,如下所示: class User { transient springSecurityService String username String password String firstName String lastName boolean enabled = true static transients = ['springSecurityService', 'enabled'] static constraints = {
class User {
transient springSecurityService
String username
String password
String firstName
String lastName
boolean enabled = true
static transients = ['springSecurityService', 'enabled']
static constraints = {
username blank: false, unique: true
password blank: false
}
}
和Spring安全身份验证和角色、用户角色模型都可以正常工作。
但我需要用用户名和密码以及emailID覆盖用户身份验证,emailID将是唯一的,并且是一个外键
新的用户域模型是
class User {
transient neatEncryptedType
transient springSecurityService
String username
String password
String emailId
String firstName
String lastName
boolean enabled = true
}
如何使用电子邮件、用户名和密码进行身份验证?
有人建议如何覆盖spring安全认证吗?我前阵子讲过spring安全插件的内部工作原理,其中一个例子是使用第三个参数的自定义登录。支持这一点需要几个步骤,因此请查看该流程的可下载代码。这并不困难,但需要一个自定义身份验证类、自定义过滤器和身份验证程序。但是它们都是基于现有的类,所以很简单