Если IP-адрес изменяется , когда вы вошли в систему , и это, по-видимому, приводит к выходу пользователя из системы, возможно, это связано с тем, что сеансы CI можно настроить (или нет), чтобы принудительно привязывать сеансы кIP-адрес.Обратите внимание, что, хотя это легко настраивается, если вы используете драйвер базы данных CI для данных сеанса, вам необходимо изменить таблицу сеансов в зависимости от значения, назначенного этому параметру
application / config / config.php
| 'sess_match_ip'
|
| Whether to match the user's IP address when reading the session data.
|
| WARNING: If you're using the database driver, don't forget to update
| your session table's PRIMARY KEY when changing this setting.
$config['sess_match_ip'] = FALSE;
Назначение FALSE
в качестве значения позволит пользователю оставаться в системе даже при изменении IP-адреса.Ваша конфигурация сеанса, вероятно, установлена на TRUE
, что означает, что другой IP-адрес клиента приведет к тому, что сеанс больше не будет действительным.
Если вы не используете базу данных в качестве драйвера сеанса, все, что вам нужно сделатьизменить параметр sess_match_ip
, и вы настроены.Если вы используете базу данных для сеансов, изменения, которые вам необходимо выполнить, находятся в документации CI здесь:
Библиотека сеансов
В частности, это:
You will also need to add a PRIMARY KEY depending on your ‘sess_match_ip’ setting. The examples below work both on MySQL and PostgreSQL:
// When sess_match_ip = TRUE
ALTER TABLE ci_sessions ADD PRIMARY KEY (id, ip_address);
// When sess_match_ip = FALSE
ALTER TABLE ci_sessions ADD PRIMARY KEY (id);
// To drop a previously created primary key (use when changing the setting)
ALTER TABLE ci_sessions DROP PRIMARY KEY;