Grails-Spring安全性保存用户角色

Grails-Spring安全性保存用户角色,grails,spring-security,Grails,Spring Security,我是Grails和Spring Security的新手。我尝试创建一个简单的寄存器视图。我使用SpringSecurity中的s2快速启动脚本创建了User、Role和UserRole域类 我的问题是数据库中只保存用户。 但是我想保存用户和用户角色 那是我的控制器: @Secured('permitAll') 类注册控制器{ def index() { } def register() { def user = new User(params) user.save()

我是Grails和Spring Security的新手。我尝试创建一个简单的寄存器视图。我使用SpringSecurity中的s2快速启动脚本创建了User、Role和UserRole域类

我的问题是数据库中只保存用户。 但是我想保存用户和用户角色

那是我的控制器:

@Secured('permitAll')
类注册控制器{

def index() {
}

def register() {

    def user = new User(params)
    user.save()

    def role = Role.findByAuthority('ROLE_USER') // ROLE_USER will be created in the bootstrap class
    UserRole.create(user, role)

    redirect view: 'index'
}
}

如果我在引导类中放入相同的代码,UserRole也将被保存

希望有人能提供帮助和解释,为什么这不起作用。

更新您的代码:

def register() {

    def user = new User(params)
    user.save(flush: true, failOnError: true)

new UserRole(user: admin, role: Role.findByAuthority('ROLE_USER')).save(flush: true, failOnError: true)

    redirect view: 'index'
}

如果在保存用户角色期间出现任何问题,则
failOnError:true
带有抛出错误,然后您可以跟踪该问题。

乐意帮助:)