首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Rails中同一域中有会话时,如何在PHP中创建会话?

问在Rails中同一域中有会话时,如何在PHP中创建会话?
EN

Stack Overflow用户
提问于 2010-06-02 12:09:45
回答 2查看 343关注 0票数 0

我在子域xyz.domain.com上有一个Rails应用程序,在另一个子域上有一个abc.domain.com应用程序。

当用户登录到Rails应用程序时,我想给他们一个会话,以便在PHP应用程序中记录有关该用户的某些事件,但在Rails应用程序的同一个数据库中记录该用户的某些事件。实际上,我只是公开了一个需要身份验证的API。

做这件事最好的方法是什么?我不会将会话存储在数据库中。

更新I应该提到,其目标是允许通过身份验证访问PHP站点到目前为止仅由Rails应用程序使用的数据库。如果用户登录到Rails应用程序中,我希望能够跟踪PHP站点上发生的任何事件,并将它们与用户关联起来。

EN

回答 2

Stack Overflow用户

发布于 2010-06-02 13:14:12

我会回答,因为我对Rails不太了解。

你可以在自定义cookie名称 in php.ini。在会话名称和正确的cookie域之间,可以创建一个由两个应用程序共享的cookie。

PHP术语中的“会话”仅仅意味着一个cookie,它的值指向会话存储中保存的数据集。例如,如果PHP (使用默认配置)看到cookie PHPSESSID=2b00042f7481c7b056c4b410d28f33cf,它将查找类似于/tmp/sess_2b00042f7481c7b056c4b410d28f33cf的会话文件。该文件只包含serialize($_SESSION)的输出。

因此,共享会话将共享此cookie值,但本质上没有其他任何内容。如果PHP要插入日志记录,则必须决定如何共享其他值。一些备选方案:

  1. 如果PHP会话为空,请在Rails应用程序中查询URL,该应用程序提供登录用户名和其他会话详细信息。确保URL只能从本地主机访问。
  2. 将会话IDs等同于数据库中的用户名/ids,这样PHP就可以进行查找。
票数 2
EN

Stack Overflow用户

发布于 2010-06-02 13:00:58

我认为会议是不可能的。如果可以在子域之间共享相同的数据库,则可以使用数据库存储身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2957492

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档