欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

这种类型的网站用户权限控制,如何实现?

程序员文章站 2024-02-05 20:27:40
...
请教一个网站用户管理权限的问题:
1. 网站后台数据库中news数据表中存放所有新闻内容,news中有一个字段为新闻类别,新闻类别有“政治”,“经济”,“体育” 3类。
2. 网站后台管理员有“政治”,“经济”,“体育” 以及“超级管理员”共4种类别

要求:
1. 每个类别的管理员只能浏览和编辑对应类型的新闻内容。例如 “政治”类别管理员只能浏览和编辑“政治”类新闻,不能浏览其它类型新闻。
2 “超级管理员”则可以浏览并编辑所有新闻

如何设计方便合理?请大家指点


回复讨论(解决方案)

news 表有一个rid,对应于user表的rid,则用户登陆后,获取用户的rid去查询news表就是了。
当登陆的是超级管理员,就查询所有news记录

设一权限表,包含 类别、用户id 两字段
其中:
类别 对应 news表的 新闻类别 字段
用户id 为有权限的用户id列表,多个id用逗号分隔
例如:
类别 用户id
政治 0,1
经济 0,2
体育 0,3

0、1、2、3 分别是 超级管理员、政治管理员、经济管理员、体育管理员 的id

角色表
id type_ids
1 0,1,2
2 0
3 1
4 2

1 2 3 4 分别是 超级管理员、政治管理员、经济管理员、体育管理员 的id

0 1 2 分别是 政治 经济 体育
登陆的时候可以获取 type_ids
查news表的时候 select 字段 from table where 类型 in (type_ids)

设置一一对应的权限表,每个userid对应一个typeid
优点是方便增删user或type。
id_user id_type
--------------------
1 2
1 3
2 4
3 5