从CodeIgniter中的子域访问现有会话数据

时间:2017-09-22 16:40:42

标签: php codeigniter session-cookies

我在同一台服务器上有两个网站 -

1)subdomain.example.com用户登录。我设置的会话Cookie的域名为.example.com

2)我的第二个网站位于example.com,这是一个全新的CI网站,尚未添加任何功能。我在example.com/plain.php添加了一个简单的php文件来测试我是否能够访问所有域变体中的数据。

subdomain.example.com/login.php我将会话Cookie设置为

session_name('mysess');
session_set_cookie_params(0, '/', '.example.com');
session_start();

http://example.com/Plain.php

session_name('mysess');
session_set_cookie_params(0, '/', '.example.com');
session_start();
echo '<pre>'; print_r($_SESSION);

在我的CodeIgniter网站http://subdomain.example.com/application/config.php

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'mysess';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = '.example.com'; 
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
$config['cookie_httponly'] = FALSE;

用户在subdomain.example.com登录后,我可以在example.com/plain.php看到会话数据而不会出现任何问题,但只要我查看example.com/mycontroller/mymethod上的任何页面,它就会覆盖会话数据而我会全部丢失登录subdomain.example.com

后的会话数据集

我需要在两个站点上使用相同的会话数据来查看用户是否已登录。

我需要在CI配置中进行哪些更改才能获取该数据?

0 个答案:

没有答案