我在子域xyz.domain.com上有一个Rails应用程序,在另一个子域上有一个abc.domain.com应用程序。
当用户登录到Rails应用程序时,我想给他们一个会话,以便在PHP应用程序中记录有关该用户的某些事件,但在Rails应用程序的同一个数据库中记录该用户的某些事件。实际上,我只是公开了一个需要身份验证的API。
做这件事最好的方法是什么?我不会将会话存储在数据库中。
更新I应该提到,其目标是允许通过身份验证访问PHP站点到目前为止仅由Rails应用程序使用的数据库。如果用户登录到Rails应用程序中,我希望能够跟踪PHP站点上发生的任何事件,并将它们与用户关联起来。
发布于 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要插入日志记录,则必须决定如何共享其他值。一些备选方案:
发布于 2010-06-02 13:00:58
我认为会议是不可能的。如果可以在子域之间共享相同的数据库,则可以使用数据库存储身份验证。
https://stackoverflow.com/questions/2957492
复制相似问题