0
나는 spring-security-core plugin 3.1과 함께 grails 3.2.9를 사용하고있다.grails 3 스프링 보안 사용자 도메인 id 필드 합성
s2-quickstart 스크립트를 실행하여 User, Role 및 UserRole 도메인 클래스를 생성했습니다. 사용자 및 역할 도메인의 id 필드가 합성으로 간주됩니다. 여기
def u = User.class.declaredFields.findAll {!it.synthetic}
u.each {
println it
}
내 사용자 클래스 : 나는 다음과 같은 코드를 실행하는 경우 예를 들어, ID 필드는 표시되지 않습니다
@GrailsCompileStatic
@EqualsAndHashCode(includes='username')
@ToString(includes='username', includeNames=true, includePackage=false)
class User extends BaseDomain implements Serializable {
private static final long serialVersionUID = 1
String username
String password
boolean enabled = true
boolean accountExpired
boolean accountLocked
boolean passwordExpired
Date lastLogin
Set<Role> getAuthorities() {
(UserRole.findAllByUser(this) as List<UserRole>)*.role as Set<Role>
}
static constraints = {
password blank: false, password: true
username blank: false, unique: true
}
static mapping = {
id generator: 'identity', column: 'user_id', sqlType: 'bigint(20) unsigned'
password column: '`password`'
lastLogin sqlType: 'timestamp'
}
}
이 내 다른 도메인 클래스와 발생되지 않으며, 이 문제를 일으키는 첫 번째 문제는 exa-datatables 플러그인 (2.0.1)입니다. 플러그인은 도메인의 필드를 찾기 위해 유사한 코드를 사용하므로 플러그인에서 표시 할 id 필드를 요청할 때 알 수없는 열 오류로 실패합니다.