【问题标题】:I can have the same session for two Laravel projects?我可以为两个 Laravel 项目进行相同的会话吗?
【发布时间】:2018-03-01 00:55:06
【问题描述】:

我在同一台服务器(mydomain.com 和 sub.mydomain.com)中有两个 laravel 项目,数据库不同,但用户 ID 相同。 p>

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

【问题讨论】:

  • 您可以将会话数据存储在 redis 或 memcache 中,并在 session.php 配置文件中设置 cookie 在所有子域上可用。我认为这应该可以解决问题

标签: php laravel session laravel-5.1


【解决方案1】:

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

要以更具体的 laravel 方式回答,您必须更改 config/session.php 文件中的“域”值。当心在本地环境中时的影响。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    • 2014-01-25
    • 2017-04-18
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多