コントローラーの 1 つから新しいユーザーを作成する際に問題が発生しています。このように、MongoDB ユーザー コレクションに新しいユーザーを追加しようとしています。権限は、ドメイン内のロールのセットとして定義されます。
Role role = new Role(authority:"ROLE_USER")
User user = new User(username:params.username,email:params.email,password:params.password,enabled:params.enabled,
accountExpired:params.accountExpired,accountLocked:params.accountLocked,passwordExpired:params.passwordExpired,
authorities:[role])
if (user.validate()) {
user.save(flush:true)
} else {
user.errors.allErrors.each { println it }
}
まったく同じコードでブートストラップからユーザーを正常に作成できますが、単純なコントローラーから同じことをしようとすると、次のエラーが発生します。
2012-09-24 10:43:27,450 [http-8080-3] ERROR binding.GrailsDataBinder - Unable to auto-create type interface java.util.Set, class java.lang.InstantiationException thrown in constructor
a:662)