Как увеличить продолжительность сеанса по умолчанию в Concrete 5.7?

Как увеличить продолжительность сеансов по умолчанию в Concrete5 CMS (v5.7)? Такое ощущение, что мне приходится слишком часто снова входить в систему.


person Simon East    schedule 25.01.2016    source источник


Ответы (1)


Я обнаружил, что для этого можно изменить настройки обработки сеанса внутри /application/config/concrete.php:

return [

   //----------------------- SUPER LONG SESSIONS -------------------------
   // We want to extend the session cookie to last for 4 months
   // so that users are not bugged for their password all the time.
   // WARNING: This does reduce security and potentially increase the chance of 
   //          session-hijacking but if you're willing to make the trade-off, here goes

   'session'           => [
       'name'         => 'CONCRETE5',
       'handler'      => 'file',

       // We'll use our own specific save_path so that others on our 
       // server don't garbage-collect our sessions
       'save_path'    => DIR_APPLICATION . '/files/tmp/sessions',

       // 40 days (in seconds). This is a timeout value.
       // If session is not used for 40 days, it is likely to be garbage collected
       'max_lifetime' => 3456000,           

       'cookie'       => [
           'cookie_path'     => false,

           // This defaults to 0 which is a session cookie
           // (ends when browser is closed)
           // Extending to last 4 months (in seconds). Cookie will span multiple 
           // browser restarts up until this max value, and then user will be forced 
           // to login again (yes, even in the middle of a session, beware!)
           'cookie_lifetime' => 10510000,    

           'cookie_domain'   => false,
           'cookie_secure'   => false,
           'cookie_httponly' => true
       ]
   ],

   // Browser user-agents and IP addresses may change within that time
   // so we will disable strict checking for those
   'security' => [
       'session' => [
           'invalidate_on_user_agent_mismatch' => false,
           'invalidate_on_ip_mismatch' => false
       ],
   ]

];

Примечание.
Конкретные группы, в которые входит участник, сохраняются в сеансе и обновляются только при входе в систему или при изменении определенных разрешений на панели управления. Когда это происходит, Concrete5 автоматически обновляет метку времени в /application/config/generated_overrides/concrete.php, но вы также можете сделать это вручную, если хотите, чтобы разрешения пользователей обновлялись в середине сеанса:

return array(
    ...
    'misc' => array(
        'access_entity_updated' => 1453869371,
    ),
person Simon East    schedule 25.01.2016