大家好,我已经建立了一个管理面板,现在我必须根据哪个用户试图访问它来保护它。我需要php和mySQL中的一些内容,这样我就可以在代码中间检查用户(使用$_SESSION['thisUser']
)是否有权修改或只查看某些内容。我需要它很容易,因为我不擅长构建php类。。不知道我可以称之为的东西
if( $user->hasPermission('write-news') )
// write news
有什么帮助吗?提前感谢!
好的,我想我找到了一种更简单的方法来执行它。
我只制作了几个表(用户、角色、权限和连接两者的角色术语)。然后,我制作了一个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"
}
也许这不是建立基于角色的权限系统的正确方法,但它很简单,适合我的需要。不幸的是,我真的没有时间学习更好的系统是如何工作的。如果你对此有一些建议,我很有兴趣阅读。
好吧,如果您试图采用面向对象的方法,那么当然可以,但您需要确保您将拥有一个类文件,其中定义了hasPermission()
for $user
成员变量(很可能是用户类),该变量通过在$user
上执行特定的查询来从数据库中获取值。
附言:如果你知道框架PHP方法,这将是有意义的。