Symfony应用程序或PHP可以同时管理多少个会话?

时间:2015-05-20 02:39:49

标签: php symfony session symfony-2.6 symfony-http-foundation

让我们说我有一个Symfony2应用程序共享两个主要包:OneBundleTwoBundleOneBundle充当管理目的的后端,TwoBundle是外部的RESTful API。

OneBundle的流程是每个人的知识:管理员登录,执行操作和注销,或者让应用程序直接打开或关闭浏览器或关闭应用程序的任何其他方式,在这种情况下,会话应该被销毁或者被破坏如config.yml中所定义的(24小时会话到期日期)。

现在TwoBundle有一个不同的流程:用户登录Salesforce并获取一个令牌,该令牌被传递回API端点,我创建一个新会话来存储令牌和其他一些信息,用户注销或关闭客户端应用程序或其他东西,该会话应该活着一个星期不是24小时,因为第一个。

同一个Symfony2应用可以共享两个不同的会话,这意味着OneBundle有一个会话,TwoBundle有一个会话吗? PHP允许吗?你如何处理这个业务规则?我可以将一个会话存储为默认保存处理程序,将另一个会话存储为PdoSessionHandler吗?

1 个答案:

答案 0 :(得分:2)

可以通过在security.yml文件中设置两个防火墙来完成。一个用于“OneBundle”,另一个用于“TwoBundle”,如果需要,可以使用不同的安全处理程序(第一个是FOSUser,第二个是Native),因此symfony安全性非常灵活。

[编辑]

您可以在symfony配置中查看这些页面: