我正在开发一个需要多种用户类型的网站。我已经能够在登录后根据用户滚动/类型将用户类型重定向到不同的保证。但是,我需要将站点的Admin部分限制为仅管理员角色类型。我根据用户类型/角色将“1”或“2”存储到数据库中。我使用“session_start”和“session_is_registered”来检查用户信息。我需要添加到此代码中以限制角色类型为“1”的用户查看该页面。
session_start();
if(!session_is_registered(username)){
header('Location: ../admin/index.php');
}
答案 0 :(得分:5)
将用户角色存储在会话变量
中$_SESSION["role"]=1;
或
$_SESSION["role"]=2;
取决于存储的用户信息。
然后,当您检查权限时,只需检查此变量:
if($_SESSION["role"]==2){
header('Location: ../admin/index.php');
} else {
echo "you need the admin role to view this page!";
}
另一条建议: 最好检查../admin/index.php中的权限,如果用户没有admin角色,则重定向回默认页面。否则,如果用户知道URL,用户可以直接浏览到../admin/index.php。
答案 1 :(得分:0)
嵌套你的if语句。如果他们是管理员,请将他们引导至管理页面,否则将其发送到其他地方。