I use in core.php for logout after 30 minutes this:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 30, // auto logout after 30 minutes
'cookieTimeout' => 1440, // session cookie 24 hours
'autoRegenerate' => true // regenerate session
));
This work fine. And I would to display countdown message of session timeout, for example in header of page next to the logout button. Could anybody help me?
For example in default.ctp.
<body>
<div id="container">
<div id="header">
<div style="float: right;">
<?php
// display countdown of session timeout:
// You will be automatically logged off for (time to expire cookie timeout)
// Logout button
echo $this->Html->link(__('Logout'), array('controller' => 'users', 'action' => 'logout'), array('escape' => false));
?>
</div>
</div>
<div id="content">
</div>
</div>
Since people are harsh on you and this is your first time here, I shall be a little bit gentle on this. I don't provide you the answer, but key pointers:
$this->Session->read('Config.time')
to get the unix timestamp of when will be the session ends.moment.js
is great in manipulating time, countdown etc. Check fromNow
- you can use it for future too.Hope this helps ;)
This could also be an issue with php settings.
There is an SO answer here that details how to get around this:
for that you can write like that
Configure::write('Session.timeout', '120');
Configure::write('Security.level', 'medium');
if 'high' then Session timeout in 'Session.timeout' x 10,
if 'medium' then Session timeout in 'Session.timeout' x 100,
if 'low' Session timeout in 'Session.timeout' x 300