【问题标题】:Zend Framework 2 session container lifetimeZend Framework 2 会话容器生命周期
【发布时间】:2015-03-23 08:26:14
【问题描述】:

我是 ZF2 的新手,需要更有经验的用户提供建议。 我正在开发一个小商店,我想为会话存储和 cookie 创造不同的生命周期。 例如,当用户登录时,服务器发送一个有效期为 3 个月的 cookie,并创建有效期为 30 分钟的会话存储记录(用于用户数据)。拥有 cookie 和唯一会话记录的用户可以使用安全数据(例如信用卡号、电话等)购买商品、评论和查看他们的个人资料。 30 分钟后无活动会话记录必须删除,但必须留下 cookie(cookie 有效期必须为 3 个月)。只有 cookie 用户可以制作 cmets,但不能购买任何东西或查看他/她的个人资料。 所以我很有趣我怎么能用 ZF2 实现它? - 据我了解,“remember_me_time”必须等于“cookie_lifetime”,否则它们可以更改为不同的值?
ZF2 是否有任何标准机制可以在一段时间后为单个用户删除会话存储,或者我必须自己创建这样的机制?

【问题讨论】:

    标签: session cookies zend-framework2 authorization


    【解决方案1】:

    如果您使用 ZfcUser(如果您在 ZF2 上进行用户身份验证,则应该使用)查看 GoalioRememberMe(https://github.com/goalio/GoalioRememberMe) 模块,它完全符合您的要求(警告:我'我自己从来没有真正使用过它,所以我不能保证它的功效或安全性)

    我还建议阅读this response by Anthony Ferrara (@ircmaxell) 来回答一个有点类似的问题。它包含一些关于你应该做什么和不应该做什么的背景信息,其要点是:不要试图让 PHP 会话保持打开那么长时间,而是使用“记住我”cookie 并从没有活动会话的访问者的记住我的 cookie。

    【讨论】:

    • 亚当,非常感谢你的回答,你真的帮了我很多!
    猜你喜欢
    • 2011-08-21
    • 2016-11-21
    • 2014-08-03
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多