我正在尝试提供管理员功能,管理员可以在不知道密码的情况下以其他用户身份登录。所有网站内容均受权限控制。我的问题是——
- 我应该在切换到用户帐户之前注销管理员用户吗?这是否意味着管理员必须重新登录?
- 如果我需要切换回管理员帐户 - 我该如何解决这个问题,因为“用户”没有管理员权限,但我之前以管理员身份登录?
- 还有什么我需要记住的吗?
你有什么建议?
我不熟悉 CI,但这是一个通用的解决方案:
选择模拟用户时,您:
如果会话中存在管理员用户 ID,请在某处显示“结束模拟”链接。单击该链接时,您:
不要破坏管理会话
检查是否设置了管理会话
if(isset($_SESSION['admin']))
{
//authenticate the user without checking the password,only check the uname
}
else
{
//authenticate the user by checking both username and password
}
请记住为用户和管理员保留两个单独的会话。
我希望那会做