Различные тайм-ауты сессии для администратора и пользователей в CAKEPHP 2.0.Является ли это возможным? - PullRequest
3 голосов
/ 28 февраля 2012

Я использую cakephp 2.0 для разработки веб-сайта.Сайт будет содержать только 2 типа пользователей.Админ и пользователи (клиенты).Теперь мне нужно установить время сеанса 10 минут для клиента и 1 час для администратора.Является ли это возможным ?.Мой файл core.php содержит следующую строку:

Configure::write('Session', array(
    'defaults'      => 'php',
    'cookie'        => 'xyz',
    'timeout'       => 10,
    'checkAgent'    => false,
));

Ответы [ 2 ]

3 голосов
/ 28 февраля 2012

Более правильно вы выполняете это условие в AppController, чем для изменения вашего core.php этой величины.Вы можете сделать только это:

Configure::write('Session.timeout', 60);

И если вы используете Acl, убедитесь, что пользователь admin использует свой собственный метод Acl вместо strripos.

3 голосов
/ 28 февраля 2012

Я добавил следующие строки в файл core.php. Для быстрого исправления

если (strripos ($ _ SERVER [ 'REDIRECT_URL'], "админ /")) {
Configure :: write ('Session', массив (
'defaults' => 'php',
'cookie' => 'xyz',
'timeout' => 60,
'checkAgent' => false,
));
}
еще
{
Configure :: write ('Session', массив (
'defaults' => 'php',
'cookie' => 'xyz',
'timeout' => 10,
'checkAgent' => false,
));
}

...