Я использую в 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>
Поскольку люди суровы на вас, и это ваш первый раз здесь, я буду немного нежным по этому поводу. Я не даю вам ответа, но ключевые указатели:
$this->Session->read('Config.time')
чтобы получить $this->Session->read('Config.time')
метку unix, когда будет завершена сессия. moment.js
подходит для манипулирования временем, обратным отсчетом и т. Д. Check fromNow
– вы можете использовать его и для будущего. Надеюсь это поможет 😉
для этого вы можете так писать
Настроить :: write ('Session.timeout', '120');
Configure :: write ('Security.level', 'medium');
если «высокий», то тайм-аут сеанса в «Session.timeout» x 10,
если «средний», то тайм-аут сеанса в «Session.timeout» x 100,
если «низкий» тайм-аут сеанса в «Session.timeout» x 300
Это также может быть проблемой с настройками php.
Здесь есть ответ SO, в котором подробно описывается, как обойти это: