0

我需要将 vBulletin 4.0.3 Publishing Suite 与 status.net 微博平台集成。我需要做的第一件事是让这 2 个共享 1 个会话,这样登录 vBulletin 论坛的用户也将登录到 status.net,反之亦然。

我在不同的子域下安装了不同的 vBulletin 组件:

  1. forums.sample.com - vBulletin 论坛
  2. blogs.sample.com - vBulletin 博客
  3. sample.com - vBulletin 内容管理

所有这些都指向同一个位置 (.../public_html/index.php),其中包含相应的 php 文件(sample.com 的 content.php | blogs.sample.com 的 blog.php | 论坛的 forum.php。 sample.com) 取决于 $_SERVER['HTTP_HOST']

我已将 vBulletin 配置为对所有这 3 个域使用单个 cookie.domain (.sample.com),因此访问不同的域不会中断会话。

我还有 status.sample.com,它是安装 status.net 的子域。子域配置不同,因此 document_root 实际上是 sample.com 中的子文件夹 (.../public_html/status/)

现在,你能给我一些关于如何让所有这些子域共享一个会话的指示吗?

我不确定它是否有帮助,但据我了解,status.net 默认情况下不进行自定义会话处理,但可以将其打开,因此它将开始将会话数据存储在名为“会话”的数据库表中。vBulletin 默认将会话存储在数据库中。

任何提示将不胜感激。

谢谢你。

4

1 回答 1

1

即使他们都共享会话,这对您也没用。他们必须以相同的方式使用会话,这意味着:

  • 使用相同的键存储相同的变量(或者每个应用程序放入会话,除了它需要的数据,另一个需要的数据)。
  • 除非他们使用完全相同的数据来执行登录,否则他们都必须有权访问其他应用程序会话中存储的用户名/定义/任何内容
  • 如果他们存储对象,则两者都必须有权访问各自的类定义

因此,除非您正在构建自己的应用程序并从一开始就考虑它,否则请忘记“共享会话”。改为实现像CASOpenID这样的单点登录。

于 2010-05-25T11:14:48.497 回答