我基于PHP和MySQL为我的公司创建了一个站点。
我试图找到有关如何处理页面授权但我没有找到的信息。
我的网站上有多个部分(例如A,B和C)。每个用户都属于一个组。
我必须指出哪个组可以创建/更新/读取/删除信息。
例如基本用户可以编辑(如此阅读)A.1 / view A.2 / delete(so read-edit)B.1等...
你如何处理这类事情?
组也必须是分层的,例如管理员获得了用户+ ...
的每个角色感谢您的帮助
答案 0 :(得分:-2)
您需要在数据库中创建角色,并为每个用户分配角色 - 可能通过关系表。之后,在每个页面的顶部(或在编辑/删除等每个特定命令之前)运行查询,并确定用户X是否具有角色Y.
有关详细信息,请编辑添加部分代码的问题,以便我举例说明。
答案 1 :(得分:-2)
过去我通过附加到数据库中用户条目的排名来完成。
排名:
1 =标准用户
2 =编辑
3 =管理员
然后,您可以在页面顶部运行检查,以确定当前用户的排名是否与这些数字匹配。因此,当您在登录时提取用户信息时,将其排名存储到会话变量中,然后在整个过程中使用它。
如果所有人都可以查看某个页面,请检查:
if (currentUserRank >= 1)
仅由编辑查看:
if (currentUserRank >= 2)
仅限管理员:
if (currentUserRank == 3)
显然,你可以定义你想要的等级数量以及每个等级能够做到的等级。
如果用户不符合这些要求,请将其重定向回允许访问的页面。请注意,即使您隐藏导航按钮,如果此人知道该链接,他们仍然可以访问该页面。这就是为什么最好在加载之前将代码放在页面顶部。