0

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

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

有什么帮助吗?提前致谢!

4

2 回答 2

0

好吧,如果您尝试使用面向对象的方法,那么当然可以,但是您需要确保您将拥有一个类文件,其中定义了您的hasPermission()for$user成员变量(很可能是用户类),该变量从通过专门在$user.

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

于 2013-06-22T15:47:36.713 回答
0

好的,我想我找到了一种更简单的方法来执行它。

我刚刚制作了几张表(连接两者的用户、角色、权限和角色权限)。然后我创建了一个 php 文件(包含在 db-settings.php 文件之后),它检索已登录用户的所有权限并将它们保存在一个数组中(从 userId 中获取$_SESSION[])并使用 afunction hasPermission($Permission) {检查数组中的给定权限并返回对或错。这样,每次我需要检查特定权限时,我都称之为

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

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

于 2013-06-23T15:48:43.347 回答