如何设置用户级别

时间:2010-06-08 03:01:47

标签: php

我正在做一个需要登录页面的系统。问题是我不知道如何设置用户级别。例如:如果是admin,则可以访问所有页面,如果用户只能访问某个页面。怎么做?

1 个答案:

答案 0 :(得分:2)

这是一个非常广泛的问题。可以通过多种方式处理访问控制。最终,对于您网站上的每个“操作” - 登录用户可能能够执行(或查看)的每件事 - 您需要确定当前用户是否有权执行该操作

最基本的方法是指定一组可以执行所有操作的特定用户(通常是“管理员”):

if ($user->is_admin) {
    // Do stuff...
}

最复杂的方法(可以说)是为人们可能做的每件事保留一个单独的特权:

if ($user->can_edit_things) {
    // Edit things
}
if ($user->can_add_things) {
    // Add things
}
if ($user->can_delete_things) {
    // Delete things
}

中间某处是一种常见的“基于角色”的方法。在那里,您将为每个用户分配一个角色,并为每个操作分配一组允许执行该角色的角色。

if ($user->role == 'Admin' || $user->role == 'Adder of Things' || $user->role == 'Cool Guy') {
    // Add things
}
if ($user->role == 'Admin' || $user->role == 'Deleter of Stuff' || $user->role == 'Evil') {
    // Delete things
}

最终,您必须确定哪种方法最适合您的网站,请记住,您可以结合这些基本方法(以及一百万个微妙而不那么微妙的变体),以便在“简单”之间取得最佳平衡开发“和”能够表达你关心的权限。“