Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 05 июл 2025, 15:00

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Обновление сессии в Базе Данных
СообщениеДобавлено: 19 авг 2012, 22:57 
Не в сети
Зеленый

Зарегистрирован: 04 июн 2012, 16:52
Сообщения: 8
При авторизации пользователя создается сессия в БД. При каждом запросе к БД, ее lifetime обновляется. Можно как-то сделать lifetime не обновляемым, а статичным? Например 1 час, и чтобы через 1 час пользователя разлогинивало, вне зависимости от его действий.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2012, 23:08 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Shustoff писал(а):
При авторизации пользователя создается сессия в БД. При каждом запросе к БД, ее lifetime обновляется. Можно как-то сделать lifetime не обновляемым, а статичным? Например 1 час, и чтобы через 1 час пользователя разлогинивало, вне зависимости от его действий.


Конечно! :)

config/session.php
Код:
<?php defined('SYSPATH') or die('No direct script access.');

return array
(
  'database' => array(
    'group'     => 'default', // configuation group name
    'table'     => 'sessions', // session table name
    'gc'        => 500, // number of requests before gc is invoked
    'name'      => 'session',
    'encrypted' => TRUE, // need a key in config/encrypt.php
    'lifetime'  => DATE::HOUR, // 0 = expire when the browser close,
    'columns'   => array
    (
      'session_id'  => 'session_id', // session identifier
      'last_active' => 'last_active', // timestamp of the last activity
      'contents'    => 'contents' // serialized session data
    ),
  )
);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2012, 23:43 
Не в сети
Зеленый

Зарегистрирован: 04 июн 2012, 16:52
Сообщения: 8
Ну у меня такой же конфиг, только 'encrypted' => FALSE.
Обновляет lifetime при каждом запросе.
Напишите свой config/encrypt.php?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2012, 23:46 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Код:
<?php defined('SYSPATH') or die('No direct script access.');

return array
(
  'default' => array
   (
    'key'     => 'zoMGXkU!0XmB!whYsDVSR', // secret passphrase
    'cipher'  => MCRYPT_RIJNDAEL_128, // encryption mode, one of MCRYPT_MODE_*
    'mode'    => MCRYPT_MODE_NOFB, // encryption cipher, one of the Mcrpyt cipher constants
  ),
);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 19 авг 2012, 23:56 
Не в сети
Зеленый

Зарегистрирован: 04 июн 2012, 16:52
Сообщения: 8
Все равно обновляет. config/auth.php покажите? :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 00:01 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Код:
<?php defined('SYSPATH') or die('No direct access allowed.');

return array
(
  'driver'       => 'orm',
  'hash_method'  => 'sha256',
  'hash_key'     => 'whYsDVSR~q0',
  'lifetime'     => Date::HOUR * 2,
  'session_type' => Session::$default,
  'session_key'  => 'auth_user',
);


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 00:17 
Не в сети
Зеленый

Зарегистрирован: 04 июн 2012, 16:52
Сообщения: 8
Не помогло(


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 00:24 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Значит не правильно работаете с сессиями


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 00:49 
Не в сети
Зеленый

Зарегистрирован: 04 июн 2012, 16:52
Сообщения: 8
Нативный драйвер правильно работает, а с БД не хочет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 20 авг 2012, 01:59 
Не в сети
Администратор
Аватара пользователя

Зарегистрирован: 24 июл 2012, 18:00
Сообщения: 701
Откуда: Murom, Russia
Попробуйте указать в файле bootstrap.php
Код:
Session::$default = 'database';



Тут всё нормально?
Код:
/**
 * Enable modules. Modules are referenced by a relative or absolute path.
 */
Kohana::modules(array(
  'database'        => MODPATH.'database',   // Database access
  'orm'             => MODPATH.'orm',        // Object Relationship Mapping
  ));


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group