管理面板的基于角色的用户权限系统

时间:2013-06-22 15:23:16

标签: php admin user-permissions role-based role-base-authorization

大家好我已经建立了一个管理面板,现在我必须根据哪个用户尝试访问它来保护。我需要php和mySQL中的一些内容,以便我可以在代码中间检查用户($_SESSION['thisUser'])是否有权修改或只查看内容。我需要它很容易因为我不擅长构建php类..不知道我可以调用的东西

if( $user->hasPermission('write-news') ) 
   // write news

有任何帮助吗?提前谢谢!

2 个答案:

答案 0 :(得分:0)

好吧,如果您尝试使用面向对象的方法,那么您当然可以,但是您需要确保您的hasPermission() $user成员变量$user的类文件定义了最有可能是用户类的用户,它通过在{{1}}上专门点击查询来从数据库中获取值。

PS:如果您了解框架式PHP方法,这将有意义。

答案 1 :(得分:0)

好吧我觉得我找到了一种更简单的方法来执行它。

我只创建了几个表(用户,角色,权限和连接两者的role_perm)。然后我创建了一个php文件(包含在db-settings.php文件之后),它检索已记录用户的所有权限并将它们保存在一个数组中(从$_SESSION[]获取userId)和function hasPermission($Permission) {检查数组中的给定权限并返回true或false。这种方式每当我需要检查特定权限时,我称之为

if(hasPermission("write-news")) {
    // let him write it
} else {
    // "you do not have permission, bye bye"
}

也许这不是设置基于角色的权限系统的正确方法,或者它是,但它很简单,适用于我需要它。不幸的是,我真的没有时间去学习更好的系统如何工作。如果您对此有一些建议,我有兴趣阅读它。

相关问题