1

我正在开发一个需要多种用户类型的网站。我已经能够在用户登录后根据用户滚动/类型将用户类型重定向到不同的敬意。但是,我需要将站点的管理员部分限制为仅管理员角色类型。我根据用户类型/角色将“1”或“2”存储到数据库中。我正在使用“session_start”和“session_is_registered”来检查用户信息。我需要在此代码中添加什么来限制角色类型为“1”的用户查看页面。

session_start();
if(!session_is_registered(username)){
header('Location: ../admin/index.php');
}
4

2 回答 2

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 中的权限并重定向回默认页面。否则,如果用户知道 URL,他们可能能够直接浏览到 ../admin/index.php。

于 2012-06-25T19:34:44.253 回答
0

只需嵌套您的 if 语句。如果他们是管理员,请将他们引导到管理页面,否则将他们发送到其他地方。

于 2012-06-25T19:33:16.960 回答