Home >Backend Development >PHP Tutorial >这种类型的网站用户权限控制,如何实现?
请教一个网站用户管理权限的问题:
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