php - 前端和后端登录的 session 冲突 - codeigniter

标签 php codeigniter session

我有一个具有前端和后端部分的网站。 问题是,当我从前端部分登录并打开管理仪表板时,我会自动登录,我不希望管理员登录,除非他输入用户名和密码。

我正在使用 session 。

我该如何解决这个问题..?我正在使用 codeigniter

最佳答案

如果没有看到你的代码,这有点困难,但这是我如何做前端和后端

配置.php

$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', $_SERVER['REQUEST_URI_PATH']);

$config['sess_driver'] = 'files';

if ($segments[2] == 'admin') {

    $config['sess_cookie_name'] = 'admin_sessions';
    $config['sess_expiration'] = 1440;
    $config['sess_save_path'] = FCPATH . 'application/cache/session/admin/';

} else {

    $config['sess_cookie_name'] = 'catalog_sessions';
    $config['sess_expiration'] = 7200;
    $config['sess_save_path'] = FCPATH . 'application/cache/session/catalog/';

}

$config['sess_match_ip'] = TRUE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = TRUE;

另一种设置方式

$data = array(
    'is_logged' => true,
    'user_id' => somenumber
);

$this->session->set_userdata('backend', $data);


$data1 = array(
    'is_logged' => true,
    'customer_id' => somenumber
);

$this->session->set_userdata('frontend', $data1);

访问

$admin_session_data = $this->session->userdata('backend');

echo $admin_session_data['user_id'];

$frontend_session_data = $this->session->userdata('frontend');

echo $frontend_session_data['customer_id'];

关于php - 前端和后端登录的 session 冲突 - codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39361661/

相关文章:

php - codeigniter 中的表单验证自定义消息?

java - 记住我功能如何运作?

java - session 中的 transient 对象

java - 如何通过 session 跟踪用户是否登录?

php - Laravel MorphToMany 不适用于多列

php - 无法使用 mysql_fetch_array 获取多行文本

php - 在没有事件 session 的情况下,函数仍然从链接执行

php - 如何使用dompdf设置pdf的自定义宽度和高度?

mysql - 即使我的数据库中有值,我的 select sum 查询也会返回 0

php - Codeigniter 数据库删除时出现错误