让我们说我有一个Symfony2应用程序,它共享两个主要的包:OneBundle
和TwoBundle
。OneBundle
是用于管理目的的后端,而TwoBundle
是用于外部的RESTful API。
OneBundle
流是每个人都知道的:管理员登录、做东西、注销或让应用程序直接打开或关闭浏览器或任何其他关闭应用程序的方式,在这种情况下,会话应该按照config.yml
中的定义被销毁或垃圾处理(会话的24小时到期日期)。
现在,TwoBundle
有了一个不同的流程:用户对Salesforce登录并获得一个令牌,该令牌被传递回API端点,我创建了一个新的会话来存储令牌和其他信息,用户注销或关闭客户端应用程序或其他什么东西,该会话应该存活一周,而不是像firstone那样持续24小时。
同一个Symfony2应用程序能共享两个不同的会话吗?这意味着一个会话用于OneBundle
,第二个会话用于TwoBundle
?PHP允许这样做吗?你如何处理这些商业规则?我是否可以将一个会话存储为默认保存处理程序,另一个存储为PdoSessionHandler
发布于 2015-05-19 23:16:33
这可以通过在security.yml文件中设置两个防火墙来完成。一个用于"OneBundle“,另一个用于"TwoBundle”,如果您想要的话,可以使用不同的安全处理程序(第一个是FOSUser,第二个是本机),所以symfony安全性是非常灵活的。
编辑
您可以在symfony配置中查看这些页面:
https://stackoverflow.com/questions/30339400
复制