codeigniter 为什么我会话在代码点火器3中不起作用?

vlju58qv  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(122)

我正在使用codeigniter-3开发web部件,我正在使用会话维护用户数据,一旦用户登录,如果我点击任何页面或按钮,页面将重定向到登录页面。
我有两个codeigniter-3项目,如果我在浏览器中启动项目-1并使用凭据登录,它将导航到另一个页面,它工作正常,但在项目-2中,它不工作,但项目-1和项目-2的会话配置相同。
我面临着一个奇怪的情况,如果用户登录在项目-1,同时如果用户登录在项目-2在同一浏览器的页面重定向工作良好的项目-2.我尝试了许多解决方案在谷歌没有为我工作,你能帮我解决这个问题吗?

期望值

The page should navigate one page to another page instead of redirecting to login page

congig.php

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
// $config['sess_save_path'] = NULL;
$config['sess_save_path'] = '/tmp';

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

LoginController.php

$userdata = array(
                        'id'    =>$response_arr['data']['id'],
                        'user_id'  => $response_arr['data']['user_id'],
                        'role'      => $response_arr['data']['user_id'],
                );
            $this->load->library('session');
            $this->session->set_userdata($userdata);
23c0lvtd

23c0lvtd1#

为了解决您的问题,我们必须深入到项目中,无论如何,我认为在您的项目中可能会有一些检查,如is_logged_in或user_logged_in为true,因此页面会返回到登录屏幕。
您必须在$userdata数组中再添加一个键值对。在此之前,您必须在其他页面控制器中验证,这些页面控制器根据您必须添加的键值对进行检查,如下所示

$userdata=[is_logged_in =>TRUE];

请让我知道这是否解决了您的问题。

相关问题