Symfony应用程序共享来往于域/子域的登录cookie
我们用symfony1.2创建了一个项目,我们的主应用程序运行在我们的主域www.Example.com上,现在我们已经创建了另一个应用程序,我们正在从子域sd.example.com运行,我们想要共享这两个应用程序的登录,以便用户从根域或子域登录他可以使用相同的登录名访问这两个应用程序。
注:
我们有两个应用程序的相同数据库
我们有基于文件的登录系统
注:
我们有两个应用程序的相同数据库
我们有基于文件的登录系统
我在Example.com的factories.yml和sd.Example.com中执行了此操作,但似乎不起作用
session_name: mysitesession session_path: %SF_CACHE_DIR%/sessions session_cookie_domain: .example.com
任何人都能帮忙吗?
解决方案
要共享托管在不同子域上的两个应用的登录,您需要在"factories.yml"
中更改这些设置- 使用相同的会话名称
- 使用相同的会话路径
- 使用与.rootdomain相同的Cookie域名
Example.com的factories.yml
storage: class: sfSessionStorage param: session_name: my_site session_path: %SF_CACHE_DIR%/sessions session_cookie_domain: .example.com
sd.example.com的factories.yml
storage: class: sfSessionStorage param: session_name: my_site session_path: /var/www/vhosts/example.com/subdomain/mysd/session session_cookie_domain: .example.com
如果它不工作,请检查其他配置文件,可能是任何其他配置/代码文件中覆盖的内容。
相关文章