我想知道如何为PHP中的不同用户创建不同的“用户角色”。 例如:
管理员可以创建所有类型的用户,添加,查看,操纵数据,删除管理员,查看者和工作人员等。
经理只能创建,工人和观众,可以添加和查看数据, 工作人员无法创建新用户,但只能添加数据和查看数据,
查看者只能查看工作人员,经理和管理员添加到数据库中的数据。
我虽然最好使用不同的会话,如:
$_SESSION['admin']
$_SESSION['manager']
$_SESSION['worker']
$_SESSION['viewvers']
并且对于每个页面检查它们中的哪一个具有真值或是值,但我想知道它们是如何在真实和大项目中进行的?有没有别的办法???
答案 0 :(得分:2)
取决于事物的宏观模式(希望你们都得到了,哈哈)。通常,用户具有关于它们是什么级别的标识符。例如'status'或'type'字段。
$ _ SESSION [ '与loggedInUser'] [ '类型']
该类型通常是数字。 1可能是普通用户,2可能是版主,3名管理员等
其余的是您在代码中管理它的方式。像cakephp这样的框架可以让你通过他们的auth对象访问登录用户,你可以拥有你想要的任何数据:)
我知道这是非常肤浅的,但唉,这个问题也是如此。希望它有所帮助:)
答案 1 :(得分:1)
实现用户权限的常用方法是“用户级别”,其中每个用户级别都可以由int表示。例如:
0 = guest, no privileges 1 = standard user, read-only access 9 = power user, read/write access 10 = admin, all access
在整个应用程序中,您可以检查用户访问级别并相应地允许或拒绝访问。如果您的某些区域的特权不一定是分层的,那么它会变得更加复杂。
在这种情况下,您可以检查您的会话变量(在用户经过身份验证之后),例如$_SESSION['user_level'];
答案 2 :(得分:0)
你应该在$_SESSION['Role']
中扮演角色并在登录时填写。然后每次检查此角色是否具有执行操作的权限。