LoginSignup
9
3

More than 5 years have passed since last update.

【初心者備忘録】CakePHP2でログインセッション時間を変更する方法

Posted at

社内で管理画面のログインセッション時間を長くしたい!という要望があったので、対応しました。
その際の事を備忘録として残します。
(間違っている点や抜け漏れあれば、コメント頂けると嬉しいです!)

実行環境

  • CentOS 6.8
  • PHP5.6.30
  • CakePHP2.4.10

要望

弊社で開発しているサービスの管理画面において、
未操作時にセッションが切れる時間を、
現状の1440秒(24分)から、3600秒(60分)に変更して欲しい。

開発手順

調査した結果、app/config/core.phpでセッション設定している事を確認。

core.php(変更前)

Configure::write('Session', array(
  'defaults' => 'php',
));

試しに30秒後にセッション切れるように設定した見た結果・・・
30秒、1分経過してもログアウトしない!何故だ!

core.php(変更後)
Configure::write('Session', array(
  'defaults' => 'php',
  'timeout' => '30',
));

そこで再調査。
core.phpの191行目にtimeoutの指定は分数でしてくれ!と記載してありました。秒数では無かったんですね〜。
参考記事にも記載してありました(汗)

core.php
 * - `Session.timeout` - The number of minutes you want sessions to live for. This timeout is handled by CakePHP

なので、'timeout' => 60に設定変更して、対応完了!

core.php(~完成版~)
Configure::write('Session', array(
    'defaults' => 'php',
    'timeout' => 60, //  1hours

));

参考文献

CakePHP 2.x Authコンポーネントのセッションタイムアウト設定
http://teraxlh.wp-x.jp/?p=29

CakePHP2でログイン周りのセッション時間変えてみた
http://u0u1.net/CzYm

CakePHPのセッションタイムアウトの指定はSession.timeoutだけではダメだった
https://inoccu.com/blog/2012/11/21/223145.html

9
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
3