我在core.php中使用30分钟后注销:
Configure::write('Session', array(
'defaults' => 'php',
'timeout' => 30, // auto logout after 30 minutes
'cookieTimeout' => 1440, // session cookie 24 hours
'autoRegenerate' => true // regenerate session
));
这项工作很好。我会显示会话超时的倒计时消息,例如在注销按钮旁边的页眉中。有人能帮助我吗?
例如在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>
答案 0 :(得分:9)
既然人们对你很苛刻,这是你第一次来这里,我对此会有点温柔。我不是给你答案,而是关键指点:
$this->Session->read('Config.time')
以获取会话结束时间的unix时间戳。moment.js
这样的一些javascript库非常适合操作时间,倒计时等。检查fromNow
- 您也可以将其用于将来。希望这会有所帮助;)
答案 1 :(得分:0)
为此你可以这样写
配置:: write('Session.timeout','120');
配置:: write('Security.level','medium');
如果为'high',则会话超时'Session.timeout'x 10,
如果是'medium',则会话超时'Session.timeout'x 100,
如果'Session'超时'x 300中的'低'会话超时
答案 2 :(得分:-2)