如何为用户和管理员设置不同的会话 |代码点火器

how to set different sessions for user and admin | CodeIgniter

你好我正在做一个用户和管理员有不同登录名的项目 我想为用户和管理员设置不同的会话 这是我如何设置管理会话

$this->session->set('adminData', [
            'id'            => $teacher['id'],
            'name'          => $teacher['name'],
            'email'         => $teacher['email'],
            'new_email'     => $teacher['new_email']
        ]);

用户session数据如下

$this->session->set('userData', [
                'id'            => $teacher['id'],
                'name'          => $teacher['name'],
                'email'         => $teacher['email'],
                'new_email'     => $teacher['new_email']
            ]);

但是在验证用户时

if ($this->session->isLoggedIn) {
            return redirect()->to('admin');
        }

我面临的唯一问题是我要么以管理员身份登录,要么不能同时以用户身份登录 当我已经以管理员身份登录时尝试以用户身份登录时,它会将我重定向到 user/account.

有什么方法可以为管理员设置 isAdminLoggedIn 并且可以为用户使用 isLoggedIn 吗?

您可以在 adminData 之前或之后设置 isAdminLoggedIn。

$this->session->set('isAdminLoggedIn', true);

并且可以在您注销时销毁会话

$this->session->remove(['isAdminLoggedIn']);

或与

一起
$this->session->remove(['isAdminLoggedIn', 'adminData']);