我想在sec_role_assignment表中添加一条数据怎么添加

我想在sec_role_assignment表中添加一条数据怎么添加
这个表是系统的表不能生成实体类,是不是有什么方法可以用来添加数据的

这个表是用户的角色表。在界面上给用户增加一个资源角色就可以新加一条记录。

我能不能在注册的时候在后端直接添加一条,在代码里添加,不是在界面上

可以,参考DatabaseUserRepository的代码:

    @Override
    protected void initSystemUser(User systemUser) {
        Collection<GrantedAuthority> authorities = getGrantedAuthoritiesBuilder()
                .addResourceRole(FullAccessRole.CODE) // 添加资源角色
                .build();
        systemUser.setAuthorities(authorities); // 为用户分配角色
    }

image
image
这个方法我加了,在save前调用,但是在sec_role_assignment表里没有数据新增

哦,所以是需要在创建账号的时候就给账号分配一个角色。可以使用 RoleAssignmentEntity 实体。参考创建实体保存角色分配

2 个赞

你好,我参考这个保存角色分配的部分添加上save以后就不能启动了
image
image
报错信息如下
image
如果注释掉unDataManager.save(saveContext);就能运行,请问这是什么问题

从报错信息看,应该是违反了这个表的唯一索引。你用 username 作为索引,但是已经存在 username=system 的一行记录了。
image