PHP / MySQL用户授权

时间:2017-10-16 17:25:29

标签: php mysql

我基于PHP和MySQL为我的公司创建了一个站点。

我试图找到有关如何处理页面授权但我没有找到的信息。

我的网站上有多个部分(例如A,B和C)。每个用户都属于一个组。

我必须指出哪个组可以创建/更新/读取/删除信息。

例如基本用户可以编辑(如此阅读)A.1 / view A.2 / delete(so read-edit)B.1等...

你如何处理这类事情?

组也必须是分层的,例如管理员获得了用户+ ...

的每个角色

感谢您的帮助

2 个答案:

答案 0 :(得分:-2)

您需要在数据库中创建角色,并为每个用户分配角色 - 可能通过关系表。之后,在每个页面的顶部(或在编辑/删除等每个特定命令之前)运行查询,并确定用户X是否具有角色Y.

有关详细信息,请编辑添加部分代码的问题,以便我举例说明。

答案 1 :(得分:-2)

过去我通过附加到数据库中用户条目的排名来完成。

排名:

1 =标准用户

2 =编辑

3 =管理员

然后,您可以在页面顶部运行检查,以确定当前用户的排名是否与这些数字匹配。因此,当您在登录时提取用户信息时,将其排名存储到会话变量中,然后在整个过程中使用它。

如果所有人都可以查看某个页面,请检查:

if (currentUserRank >= 1)

仅由编辑查看:

if (currentUserRank >= 2)

仅限管理员:

if (currentUserRank == 3)

显然,你可以定义你想要的等级数量以及每个等级能够做到的等级。

如果用户不符合这些要求,请将其重定向回允许访问的页面。请注意,即使您隐藏导航按钮,如果此人知道该链接,他们仍然可以访问该页面。这就是为什么最好在加载之前将代码放在页面顶部。