J'ai des problèmes pour créer un nouvel utilisateur depuis l'un de mes contrôleurs. J'essaye d'ajouter un nouvel utilisateur à ma collection d'utilisateur de MongoDB comme ceci. Les autorités sont définies comme un ensemble de rôles dans le domaine.grails spring-security create user
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 }
}
Le même code est en mesure de créer un utilisateur avec succès à partir du bootstrap, mais quand je suis en train de faire la même chose d'un contrôleur simple que je reçois cette erreur:
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)
Cela pourrait être correct lorsque vous utilisez le support natif des bases de données. Cependant, il semble que la connexion vers MongoDB qui est réalisée en manipulant votre detailService ne se soucie pas vraiment des propriétés UserRole de cette manière pour cette question. Cependant je suis capable de sauver mes articles maintenant, mais je cours dans d'autres problèmes atm. –