我们开发系统涉及权限的时候,会处理到用户和角色的关系
通常情况下,我们会建一个用户角色关系映射表:user_role_mapping
字段有id,user_id,role_id
如果某个用户有多个角色,那么在user_role_mapping表中是有多条记录的
也有特殊的处理方式
在用户表user中新建一个字段role_ids记录
如果某个用户有多个角色,那么在role_ids记录的值是 1,2,多个角色用逗号分隔
添加新的角色
那我们批量给用户(某个组织下的用户)添加新的角色的时候该如何处理呢?
简单来说分为三种情况:
1.如果用户已经存在新增的角色,这个时候是不需要修改的,我们保持这一批用户权限不变
2.如果用户从未设置过角色(null),或者角色字段为空,我们直接给这一批用户添加权限:set role_ids = 新role_id
3.如果用户设置过多种角色(注意要排除包含新角色的情况),比如上图用户666666的角色有9和10,我