我遇到了完全相同的问题。检查以确保在 BootStrap.groovy 中创建用户时首先使用密码和所有字段创建用户,即使它们是可选的(不知道为什么)。然后创建新角色,然后将人员添加到角色中。
检查用户是否被分配到角色的一种方法是查看将用户映射到角色的 role_people 表。
这是我的 BootStrap.groovy 文件:
class BootStrap {
// include this line to encode password for ACEGI
def authenticateService
def init = { servletContext ->
//create admin user
def password = authenticateService.passwordEncoder("password")
def superadmin = new User(username:"admin",userRealName:"Administrator",passwd:password,enabled:true,emailShow:true,description:"admin user",email:"put email here").save()
//create admin role
def sudo = new Role(authority:"ROLE_ADMIN",description:"Site Administrator")
// now add the User to the role
sudo.addToPeople(superadmin)
sudo.save()
new Role(authority:"ROLE_USER",description:"User").save()
}
def destroy = {
}
}