大家好我已经建立了一个管理面板,现在我必须根据哪个用户尝试访问它来保护。我需要php和mySQL中的一些内容,以便我可以在代码中间检查用户($_SESSION['thisUser']
)是否有权修改或只查看内容。我需要它很容易因为我不擅长构建php类..不知道我可以调用的东西
if( $user->hasPermission('write-news') )
// write news
有任何帮助吗?提前谢谢!
答案 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"
}
也许这不是设置基于角色的权限系统的正确方法,或者它是,但它很简单,适用于我需要它。不幸的是,我真的没有时间去学习更好的系统如何工作。如果您对此有一些建议,我有兴趣阅读它。