我有一个具有管理员和用户访问权限的php应用程序。我想做的就是这样;
当我以管理员身份登录时,我需要点击一个按钮并以用户身份登录,而无需从管理面板注销。在用户控制面板中,我希望能够点击例如"返回管理员"按钮并以管理员身份登录。我需要一直保持日志记录,只是为了在用户和管理控制面板之间切换。我的会话设置如下:
Session::init();
Session::set('role', $data['role']);
Session::set('userid', $data['userid']);
Session::set('language', $data['language']);
Session::set('loggedIn', TRUE);
if ($data['role'] == "admin") {
header('location: ' . URL . 'spadmincp');
} elseif ($data['role'] == "owner") {
header('location: ' . URL . 'dashboard');
} elseif ($data['role'] == "default") {
header('location: ' . URL . 'userservices');
} elseif ($data['role'] == "reseller") {
header('location: ' . URL . 'reseller');
}
} else {
header('location:' . URL . 'login ');
}
我将感谢的任何帮助
感谢
你可以试试这个。在"管理面板"上,将链接放到用户面板。
例如。
<a href="Your user panel url">Go To User Panel</a>
在用户面板上。
检查它是否为管理员,并显示返回管理员按钮。
if($_SESSION['role']=='admin')
echo"返回管理员";
也可以在用户面板中添加。在安全检查期间访问管理员或用户。
为什么不在会话中存储adminuserid,并在管理页面上使用,在非管理页面上则使用userid?
尝试在会话中放入last_role和last_userid变量,当管理员更改用户时保存他的角色/userid,给他新的角色/userid,当他切换回时清除最后一个,在他恢复自己的信誉后。