Я использую Database Sessions в своем приложении CakePHP 3, так как хочу отобразить список сотрудников (пользователей) онлайн в админ-панели сайта.Извлечение данных из cakephp 3 сеанса таблицы
Я хочу получить зарегистрированную информацию о сеансе пользователя (пользователя) s (по крайней мере, идентификатор пользователя), чтобы их данные могли отображаться в списке. данные столбец сеансы таблица содержит информацию о сеансе, но я не знаю, как извлечь из нее определенную информацию. Я хочу Auth информация от него. Он содержит сериализованные данные, соединенные с ключом сеанса.
Sample Data
Config | а: 1: {s: 4: "время", я: 1457067440;} вспышка | а: 1: {s: 4: "Auth"; : 1: {i: 0; a: 4: {s: 7: "message"; s: 52: "Woopsie, у вас нет разрешения на доступ к этой области ."; S: 3: "key"; s : 4: "авт", s: 7: "элемент", s: 13: "Вспышка/по умолчанию"; s: 6: "PARAMS"; а: 1: {s: 5: "класс"; s: 5: "error";}}}} registrar_id | i: 2; registrar_name | s: 10: «Gaurav Makhecha»; unread_site_updates_ids | s: 1: «1»;
Может ли кто-нибудь, пожалуйста, направить меня на то, как я могу достичь этого наилучшим образом.
Вы имеете в виду что-то вроде этого? http://stackoverflow.com/questions/35450008/cakephp-3-display-logged-in-online-users-list/35451529#35451529 (Раскрытие: я написал ответ) – Sevvlor
Данные сеанса сериализованы PHP. Попробуйте использовать [session_decode] (http://php.net/manual/en/function.session-decode.php), чтобы выполнить неэтериализацию. При этом наличие записи в таблице сеансов не обязательно означает, что пользователь фактически зарегистрировался. Он мог бы просто закрыть окно своего браузера, и запись сеанса не будет очищена до запуска сборки мусора. – ADmad
Googling также придумал https://gist.github.com/phred/1201412 – ADmad