2013-03-19 2 views
5

Существует проблема, которую я не могу понять при работе с библиотекой сеансов Codeigniter. Те же пользователи используют один и тот же сеанс (Мы работаем с большой компанией, и они сказали мне следующее: когда кто-то вошел в систему, все вошли в систему)! Это возможно? Как и что я могу сделать для исправления этой ошибки?Те же пользователи используют один и тот же сеанс

Я использую библиотеку сессий Coreigniter Core и использует базу данных.

+1

Вы установили 'sess_use_database' в' true' в конфиге? Если это так, то это может быть причиной. Вся ваша компания будет использовать один внешний IP-адрес, и это будет использоваться для сопоставления и возврата сеанса. Тем не менее, я уверен (как сказал @Natrium), для этого все еще требуется куки-файл? – Gavin

+0

Теперь я просто проверил таблицу журналов и увидел, что существует несколько пользователей с разными IP-адресами. Завтра я поеду в компанию hq и полностью проверю данные сервера. Может быть, это поможет. – ActuallyMAB

+0

Да, в компании есть кэширование прокси. Поэтому, пожалуйста, ознакомьтесь с этими ссылками; https://developers.google.com/speed/docs/best-practices/caching?hl=tr http://stackoverflow.com/questions/9334393/proxy-cacheing-what-about-cookies – ActuallyMAB

ответ

1

http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

При загрузке страницы, класс сессии будет проверять, существует ли действительный данные сессии в куки сессии пользователя. Если данные сеанса не существует (или если оно истекло), новый сеанс будет создан и сохранен в файле cookie. Если сеанс действительно существует, его информация будет обновлена ​​ , и файл cookie будет обновлен. С каждым обновлением восстанавливается session_id.

Я не знаю, где вы читали, что одни и те же пользователи сети используют один и тот же сеанс, но в CodeIgniter-документации, я считаю, что сеанс хранится в куки, и пользователи сети не будут иметь проблемы, которую вы вышеписанный.

1

Более вероятно, что ошибка логики приложения является сеансовой. Возможно, вы можете воспроизвести его, если попробуете на локальном сервере разработки использовать 2 разных пользовательских аккаунта (из разных браузеров).