我有我的Symfony 2应用程序的自定义登录表单。在这个表单中,我有一个选项字段,它有多个选项来设置登录会话的最大空闲时间。我希望能够在登录操作中设置会话生存期。不幸的是,登录存储在FOSUserBundle中,这将不能被修改,因为未来更新的捆绑包。
这就是我发现到目前为止,纠正我,如果我错了:
首先在一段时间后symfony中的生命可以被破坏,如描述here。
其次,我必须能够捕获/拦截登录操作/验证以在parameter.yml中设置参数。
然后可以在侦听器中使用该参数来检查maxlifetime是否未超出。
所以我的问题是分裂在其他两个问题:Symfony 2:如何在登录时设置会话生存期?
- 如何赶上/拦截登录操作/验证?
- 有没有办法创建一个侦听器来检查闲置时间而什么都没有发生(或者可以检查下一个请求)?
在此先感谢
非常感谢。这似乎工作得很好。我还有一个问题:如何在认证处理程序的selectfield中获取存储值?我想这可以用Javascript和AJAX来完成,但我想避免这种情况。如果您已存储在实体中,则为 –
; $ em = $ this-> container-> get('doctrine') - > getEntityManager();因为它是容器意识。 – Chathushka
那就是这个问题。登录表单没有连接到实体(原因很好,它是一个登录表单)。表单发布到我无法控制的FOSUserBundle上。所以在这里使用教义不是一个选项。 –