关于角色与权限分配的问题
问题描述
假设当前应用有两个用户admin和user,需要给admin用户配置所有的权限,比如后台管理、文章管理;需要给user用户配置文章管理的权限,有两种方案都可以实现
- 方案一
建立两个角色,一是后台管理员,具有后台管理权限,另一个是文章管理员,具有文章管理权限,给admin赋予后台管理员和文章管理员两个角色,给user赋予文章管理员角色
这种方案,各角色间没有权限重复,但用户有时需要赋予多个角色- 方案二
也是建立两个角色,一是后台管理员,既具有后台管理权限,又具有文章管理权限,另一个是文章管理员,只具有文章管理权限,给admin赋予后台管理员角色,给user赋予文章管理员角色
这种方案,每个用户只需要赋予一个角色,但角色之间会有权限的重复
对比两种方案,当有新的权限要加入时,第一种方案一般是给这些新的权限创建一个新的角色,然后把这个新角色赋予给所有需要的用户,当用户数量多时,工作量大;第二种方案则是把新的权限加入到已有的角色中去,这样对用户不需要改动,相对来说角色的数量低于用户数,应该工作量似乎要小些。
请问大家实际应用中,使用哪种方案比较好呢?
推荐文章: