根据用户属性在登录时设置Symfony会话生存期

时间:2017-03-21 21:57:29

标签: symfony security session lifetime

我正在开展一个项目,客户希望不同的用户拥有不同的会话生命周期(不过,请注意,Cookie生命周期)。

客户希望基于每个用户持有的“权限”(有点像权限)。

例如,默认会话生命周期可能为15分钟 某些用户的会话生命周期可能为一小时 经理会话不会过期(生命周期= 0)。

我无法在现有的Symfony框架的安全/会话系统中找到一种方法。

我可以实现自己的东西并将其注入事件路径的某个地方,但这对我来说真的很笨拙,并且它打破了Symfony的精神。

连连呢? TIA。

1 个答案:

答案 0 :(得分:0)

我认为有办法解决你的问题。

您可以实现自定义会话存储,此处为explanation how to do it

详细信息,您将实现NativeSessionStorage类,它带有方法setOptions。此方法采用与会话配置相关的所有php.ini值的param数组。如果将其包装到业务逻辑中,它将解决您的问题。