用户角色权限设计,用户对角色有必要多对多?

想写个通用的管理后台,权限这一块,用户对角色有必要写多对多?写多对多通用性会大点,平时中间表如果只存一个,能当一对多用?想知道有这个必要?如果写一对多后期碰到需要改多对多的时候会不会更麻烦?

阅读 6.1k
2 个回答

建议根据具体场景来进行设计,如果真的想很通用的话还是多对多吧,这样任何情况都可以很好的支持,只不过开发繁琐了些

一个中间表不就可以做到多对多了吗?
这个中间表(ID,用户,角色)映射着用户和角色的关系

想获取用户的角色:select 角色 from 中间表 where 用户 = xxx
想要获取角色拥有的用户:select 用户 from 中间表 where 角色 = xxx
想要确定用户是否拥有某些角色:select 1 from 中间表 where 用户 = xxx and 角色 in (xx,xx,xx...)

是我哪里理解不对?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题