douwen1213 2013-12-03 10:04
浏览 44
已采纳

CakePHP - 会话超时

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>

  • 写回答

3条回答 默认 最新

  • douzhangbao2187 2013-12-03 13:40
    关注

    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:

    • You can read $this->Session->read('Config.time') to get the unix timestamp of when will be the session ends.
    • Some javascript library like moment.js is great in manipulating time, countdown etc. Check fromNow - you can use it for future too.

    Hope this helps ;)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?