两个CodeIgniter应用程序之间的会话共享

DMi*_*Min 2 php session codeigniter

我在同一台服务器上运行了2个codeigniter安装程序.

第一个应用程序是:localhost/aa/index.php

第二个应用程序是:localhost/aa/invoice/index.php

第二个应用程序位于第一个app文件夹中.在实时环境中,它们将位于同一个域中.我试图让单点登录工作 - 所以,如果我在aa应用程序中设置了userdata,我应该能够在发票文件夹中验证它.

有没有办法分享会议.

由于文件夹将始终位于同一个域中,因此我也可以使用ci库之外的会话(仅限php).

编辑: 当他们没有任何数据时,他们显示相同的会话ID.我在一个应用程序上添加一些变量的那一刻,另一个变得不同步.

此外,我将会话存储在数据库中(两个应用程序共享同一个数据库.)

请建议.

谢谢!:)

rba*_*r86 7

Codeigniter由于某种原因滚动自己的会话实现而不是本机PHP会话.

http://codeigniter.com/user_guide/libraries/sessions.html

您可以选择使用:

  1. cookie存储(不理想,存储空间小,cookie中的敏感数据?).
  2. 数据库会话(使用会话ID cookie持久化).
  3. 覆盖并滚动自己(使用本机php会话!)

显然,您需要确保正确配置会话标识符,以便两个应用程序都可以从同一会话数据中读取.如果使用数据库实现,则需要确保两个应用程序都可以访问同一个数据库.

为了增加复杂性,如果您选择加密会话,加密类使用的盐在两个应用程序中也需要相同,因此任何一个都能够解密共享会话数据.