现在在做的一个项目中,需要对于角色做相关权限设定,而这些权限是跟菜单对应的,比如说,“添加用户”是作为一个菜单出现的,而要使角色X具有“添加用户”的权限,就需要角色X获取菜单“添加用户”。
所以有一个角色-菜单表。主要就是“id,roleId,menuId,value”这四个字段。现在有一个问题就是,我对一个角色设置完权限之后,在这个表中会生成多条数据。而如果去修改这个角色的权限的话。要怎么去修改。现在我是把以前的数据全部删除,然后再添加数据。但我感觉数据库操作太繁琐。
各位大神有没有更好的解决方法。
不需要,那样会产生冗余的数据,正确的做法是用户关联角色,角色关联权限项目。
用户中只保存和所在角色不同的权限,并且优于角色的权限(也就是两者不同,以用户的为准)