我可以为两个 Laravel 项目使用相同的 session 吗?

I can have the same session for two Laravel projects?

我在同一台服务器上有两个 laravel 项目(mydomain.comsub.mydomain.com) 使用不同的数据库,但用户 ID 相同。

我希望 session 在两个平台上相同,我该怎么做?有可能吗?

根据This answser,您必须首先将 cookie 域设置为“.example.com”以启用跨子域共享。

要以更 laravel 具体的方式回答,您必须更改 config/session.php 文件中的 'domain' 值。在本地环境中注意影响。

还有一些事情需要考虑。如果两个域是不同的 laravel APP,请确保它们共享相同的 APP KEY,以便 cookie 在两个应用程序上都有效,并且它们共享相同的会话存储(相同的数据库 table,或相同的文件夹路径,根据您使用的任何驱动程序进行调整)。

请注意,通过共享 APP KEY,破坏一个应用程序将使攻击者有可能访问另一个应用程序。 (作为有权访问一个的真实用户,将有权访问另一个)。为了更加安全,请查看 oauth 提供程序,使用户能够使用单个共享登录系统访问应用程序。