spring security ui プラグインに問題があります。SecUser クラス (ユーザーに関する情報を格納するクラス) にメール フィールドを追加しようとしています。ただし、s2ui-override で生成された Spring Security Management Console には「email」フィールドはありません。一方、ドキュメントにより、これは利用可能です(リンク):
デフォルトでは、標準フィールド (username、enabled、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;
}
}