做一个菜单细分的权限系统,改怎么设计数据库?

BestLifeForUs 2017-06-03 12:24:32
比如有“大类管理一”“大类管理二”“大类管理四”“大类管理五”“大类管理六”“大类管理七”几个大类的菜单栏。
每个大类管理下又有很多菜单,比如大类管理一下有“小类管理一”“小类管理二”“小类管理三”“小类管理四”“小类管理五”,每个小类都设有增删查改的权限,应该怎么设计数据库?求救

附:
...全文
342 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-06-05
  • 打赏
  • 举报
回复
引用 11 楼 BestLifeForUs 的回复:
[quote=引用 9 楼 sinat_28984567 的回复:] [quote=引用 8 楼 BestLifeForUs 的回复:] 就是不知道权限怎么对应起来啊,能给数据库来看吗?让我看到直观点的
楼主再详细描述一下需求,因为最上边根本没说用户的事,只说了小类权限。[/quote] 用户、角色、用户组也加进去啊,这样针对表增删查改的时候感觉很麻烦,有什么办法吗?我查网上说用rbac设计表,具体怎样设计呢[/quote] 你都查到rbac,博客上一大堆设计,慢慢看
BestLifeForUs 2017-06-05
  • 打赏
  • 举报
回复
引用 10 楼 zbdzjx 的回复:
简单方式,就是三个表: 大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id) 用户权限表(用户权限id,小类id,用户名,打开权限,新增权限,修改权限,删除权限,打印权限……) 如果用角色,就是四个表: 大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id) 角色权限表(角色权限id,小类id,角色名,打开权限,新增权限,修改权限,删除权限,打印权限……) 用户权限表(用户权限id,用户名,角色名)
BestLifeForUs 2017-06-05
  • 打赏
  • 举报
回复
引用 9 楼 sinat_28984567 的回复:
[quote=引用 8 楼 BestLifeForUs 的回复:] 就是不知道权限怎么对应起来啊,能给数据库来看吗?让我看到直观点的
楼主再详细描述一下需求,因为最上边根本没说用户的事,只说了小类权限。[/quote] 用户、角色、用户组也加进去啊,这样针对表增删查改的时候感觉很麻烦,有什么办法吗?我查网上说用rbac设计表,具体怎样设计呢
zbdzjx 2017-06-05
  • 打赏
  • 举报
回复
简单方式,就是三个表: 大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id) 用户权限表(用户权限id,小类id,用户名,打开权限,新增权限,修改权限,删除权限,打印权限……) 如果用角色,就是四个表: 大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id) 角色权限表(角色权限id,小类id,角色名,打开权限,新增权限,修改权限,删除权限,打印权限……) 用户权限表(用户权限id,用户名,角色名)
二月十六 2017-06-04
  • 打赏
  • 举报
回复
引用 8 楼 BestLifeForUs 的回复:
就是不知道权限怎么对应起来啊,能给数据库来看吗?让我看到直观点的
楼主再详细描述一下需求,因为最上边根本没说用户的事,只说了小类权限。
BestLifeForUs 2017-06-04
  • 打赏
  • 举报
回复
引用 7 楼 sinat_28984567 的回复:
[quote=引用 5 楼 BestLifeForUs 的回复:] 那这样设计的话,每增加一个用户不是要新增很多名字为小类的行了?或者每个小类行里储存多个用户权限吗?
可以给用户设置角色,每个角色有权限组,对应相应权限即可 [/quote] 就是不知道权限怎么对应起来啊,能给数据库来看吗?让我看到直观点的
二月十六 2017-06-04
  • 打赏
  • 举报
回复
引用 5 楼 BestLifeForUs 的回复:
那这样设计的话,每增加一个用户不是要新增很多名字为小类的行了?或者每个小类行里储存多个用户权限吗?
可以给用户设置角色,每个角色有权限组,对应相应权限即可
BestLifeForUs 2017-06-04
  • 打赏
  • 举报
回复
引用 4 楼 zhouyuehai1978 的回复:
大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id,增加的权限id,修改的权限id,查询的权限id,删除的权限id) 这样不同用户进来后,通过判断是否有对应权限id来决定显示等
这样设计的话,每增加一个用户不是要新增很多名字为小类的行了?或者每个小类行里储存多个用户权限吗? 比如 小类 增 删 查 改 --------------------------------------------------------------------------------------------------------------------------------------------------- 公告管理 1,0,1,0,0(对应5个用户的权限) 1,1,1,1,1 1,0,0,0,1 1,0,0,0,0
BestLifeForUs 2017-06-04
  • 打赏
  • 举报
回复
引用 3 楼 sinat_28984567 的回复:
[quote=引用 2 楼 BestLifeForUs 的回复:] [quote=引用 1 楼 sinat_28984567 的回复:] 一个大类表,存储所有大类。 一个小类表存储小类,并有一列记录该小类的属于的大类id,还有四列记录增删改查的权限。
你意思是小类表就增删查改四列,每行是一个小类吗?因为如果是小类大类跟权限都是列的话,怎么对应起来?因为每个增删查改的权限都对应很多不同的小类啊。还有,权限id不应该也储存进去吗?[/quote] 1、是。每行一个小类。 2、小类一行数据存储着大类id,和大类对应。 3、没有权限id,只有增删改查四列,值为1代表有权限-1代表没权限。[/quote] 那这样设计的话,每增加一个用户不是要新增很多名字为小类的行了?或者每个小类行里储存多个用户权限吗?
zhouyuehai1978 2017-06-04
  • 打赏
  • 举报
回复
大类表(大类id,大类名称) 小类表(小类id,小类名称,大类id,增加的权限id,修改的权限id,查询的权限id,删除的权限id) 这样不同用户进来后,通过判断是否有对应权限id来决定显示等
二月十六 2017-06-03
  • 打赏
  • 举报
回复
引用 2 楼 BestLifeForUs 的回复:
[quote=引用 1 楼 sinat_28984567 的回复:] 一个大类表,存储所有大类。 一个小类表存储小类,并有一列记录该小类的属于的大类id,还有四列记录增删改查的权限。
你意思是小类表就增删查改四列,每行是一个小类吗?因为如果是小类大类跟权限都是列的话,怎么对应起来?因为每个增删查改的权限都对应很多不同的小类啊。还有,权限id不应该也储存进去吗?[/quote] 1、是。每行一个小类。 2、小类一行数据存储着大类id,和大类对应。 3、没有权限id,只有增删改查四列,值为1代表有权限-1代表没权限。
二月十六 2017-06-03
  • 打赏
  • 举报
回复
一个大类表,存储所有大类。 一个小类表存储小类,并有一列记录该小类的属于的大类id,还有四列记录增删改查的权限。
BestLifeForUs 2017-06-03
  • 打赏
  • 举报
回复
引用 1 楼 sinat_28984567 的回复:
一个大类表,存储所有大类。 一个小类表存储小类,并有一列记录该小类的属于的大类id,还有四列记录增删改查的权限。
你意思是小类表就增删查改四列,每行是一个小类吗?因为如果是小类大类跟权限都是列的话,怎么对应起来?因为每个增删查改的权限都对应很多不同的小类啊。还有,权限id不应该也储存进去吗?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧