Php 多个应用程序,一个数据库。如何为用户进行跨会话?
我有两个Symfony应用程序。它们指向同一数据库以共享一些表。 因此,一个用户可以使用相同的用户名和密码登录到app1和app2。但由于应用程序已登录,会话被阻止。我用的是FosUserBundle 我的问题是,如何将会话共享给不同的应用程序 我试图在两个应用程序的config.yml中添加这一行:Php 多个应用程序,一个数据库。如何为用户进行跨会话?,php,symfony,session,cross-domain,Php,Symfony,Session,Cross Domain,我有两个Symfony应用程序。它们指向同一数据库以共享一些表。 因此,一个用户可以使用相同的用户名和密码登录到app1和app2。但由于应用程序已登录,会话被阻止。我用的是FosUserBundle 我的问题是,如何将会话共享给不同的应用程序 我试图在两个应用程序的config.yml中添加这一行: framwork: session: cookie_domain: .my-domain.com name: SFSESSID 实际上,app1在app1.my-domain
framwork:
session:
cookie_domain: .my-domain.com
name: SFSESSID
实际上,app1在app1.my-domain.com上可用,app2在app2.my-domain.com上可用
第二个可能的答案是监听登录事件,并在我查看第二个应用程序的会话时执行登录。对吧?
谢谢。不幸的是,它无法以这种方式工作,因为用户只能在其中一个域上使用cookie。您可以创建一个API来共享有关用户登录并识别其身份的信息,但正确的方法是创建第三个应用程序-单点登录,它仅用于登录和授权用户。您当前的两个应用程序将始终使用SSO对用户进行授权和身份验证 要实现这一点,您可以将其用作服务器和客户端 或者,如果您想快速但混乱地完成此操作,您可以创建一个JS脚本,它将调用第二个页面并在那里创建自己的cookie。但如果有人问你,我不会推荐你的
Piotr我理解,但在这个网站上,他们解释了如何进行跨子域的会话。这不是一个好的解决方案?