3

假设我有一个 Symfony2 应用程序,它共享两个主要包:OneBundleTwoBundle. OneBundle充当用于管理目的的后端,并且TwoBundle是用于外部的 RESTful API。

Flow forOneBundle是每个人都知道的:管理员登录、执行操作和注销或直接打开或关闭应用程序浏览器或任何其他关闭应用程序的方式,在这种情况下,会话应按照config.yml(24 小时到期日期)中的定义被销毁或丢弃会话)。

现在TwoBundle有一个不同的流程:用户登录 Salesforce 并获取一个令牌,该令牌传回 API 端点,我创建一个新会话来存储令牌和其他一些信息,用户注销或关闭客户端应用程序或其他东西,然后会话应该持续一周,而不是像第一个那样持续 24 小时。

同一个 Symfony2 应用程序是否可以共享两个不同的会话,即一个会话用于OneBundle和第二个会话TwoBundle?PHP允许吗?你如何处理这个业务规则?我可以将一个会话存储为默认保存处理程序,而将另一个会话存储为PdoSessionHandler

4

1 回答 1

2

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

[编辑]

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

于 2015-05-20T07:16:33.820 回答