Модуль предназначен для поддержки пользовательских атрибутов в сессии.
*Возможности*
Для одного пользователя (даже если он использует разные браузеры или находится
территориально в различных местах) будет использована одна и та же сессия.
Хранание идентификатора пользователя в таблице сессий, такм образом поиск
сессии по идентификатору пользователя теперь стал возможен.
*Зависимости*
Использует стандартный модуль database в ko3
*Установка*
1. В application/bootstrap.php добавьте строку для использования данного менеджера
сессий:
Kohana_Session::$default = 'user';
2. В application/bootstrap.php массиве инициализации модулей добавить строку:
'session-user' => PATH_TO_MODULE . 'session-user', // Пользовательские сессии
Как должен выглядеть ваш bootstarp.php после модификации:
Kohana_Session::$default = 'user';
/**
* Enable modules. Modules are referenced by a relative or absolute path.
*/
Kohana::modules(array(
// System modules
'database' => $kohana_installation . 'modules/database', // Database access
// 3rd party modules
'session-user' => PATH_TO_MODULE . 'session-user', // Пользовательские сессии
));
3. Модифицируйте таблицу sessions для поддержки иденификатора пользователя
(пример дан для mysql)
alter table `sessions`
add `user_id` integer unsigned,
add unique `uniq_sess_user_id` (`user_id`);
Опционально можете добавить внешний ключ на таблицу пользователей для поддержания
целостности базы данных.
*Использование*
$sess = Session::instance()->session_load($user);
где $user объект имплементирующий интерфейс Interface_User с единственным методом
get_pk() возвращающий идентификатор пользователя.