SpringSecurityプラグインでGrailsを使用しています。s2-quickstartを実行したので、user-domain-classの名前は「User.groovy」、role-domain-classの名前は「Role.groovy」でした。その結果、マッピングクラスは「UserRole.groovy」という名前になりました。次に、BootStrap.groovyを変更してサンプルユーザーを作成しました。これにより、「Groovy:unexpected token:UserRole @ line 19、column2」という厄介な構文エラーが発生しました。「UserRole.create」を呼び出すとき。
これは私のBootStrap.groovyファイルです:
import com.foo.Role
import com.foo.User
import com.foo.UserRole
class BootStrap {
def springSecurityService
def userSecRole = Role.findByAuthority("ROLE_USER") ?: new Role()(authority: "ROLE_USER").save()
def user = new User(
username: "user",
password: springSecurityService.encodePassword("user"),
enabled: true
)
UserRole.create user, userSecRole // <--- This is where the error happens
def init = { servletContext ->
}
def destroy = {
}
}