我遇到了 spring security ui 插件的问题。我正在尝试向我的 SecUser 类(存储有关用户的信息)添加一个电子邮件字段。但是,使用 s2ui-override 生成的 Spring Security Management Console 中没有字段“email”。另一方面,由于文档,这是可用的(链接):
默认情况下,只有标准字段(用户名、启用、accountExpired、accountLocked 和 passwordExpired)可用,但可以使用 grails s2ui-override 脚本自定义 - 请参阅配置部分。
我尝试使用 s2ui 覆盖脚本但没有效果。
我认为这很简单,但几个小时后我自己找不到解决方案。所以如果有人知道怎么做 - 请告诉我;)
在和我的用户类:
class SecUser {
transient springSecurityService
String username
String password
String email
boolean enabled
boolean accountExpired
boolean accountLocked
boolean passwordExpired
static constraints = {
username blank: false, unique: true
password blank: false
email blank: false, email:true
}
static mapping = {
password column: '`password`'
}
Set<SecRole> getAuthorities() {
SecUserSecRole.findAllBySecUser(this).collect { it.secRole } as Set
}
def beforeInsert() {
encodePassword()
}
def beforeUpdate() {
if (isDirty('password')) {
encodePassword()
}
}
protected void encodePassword() {
password = springSecurityService.encodePassword(password)
}
@Override
public String toString(){
return "User - "+username;
}
}