自动登录/认证Laravel与其他Laravel



我有两个使用相同数据库的Laravel应用程序,因此具有相同的用户和密码。

假设应用程序被称为A和b。

如果用户登录到a,我怎么做才能使他们自动登录到B?因此,如果他们登录到A,那么当他们进入B时,他们将不必再次输入他们的登录信息。

两个应用程序都在同一域中,但是B是子域,并且与a不是同一项目的一部分。

提前感谢!

当你说Both applications are on the same domain, but B is a subdomain and is not part of the same project as A.时,我可以安全地假设它们是两个独立的Laravel安装,但它们共享相同的数据库吗?如果是这样的话,你可以试试:

  • 将您的.env文件中的会话驱动程序切换到"database",作为参考,您应该查看config/session.php中的注释,靠近'driver' => env('SESSION_DRIVER', 'file'),选项。一定要相应地管理表(参见https://laravel.com/docs/5.5/session#driver-prerequisites)
  • .env文件中,指定这一行:SESSION_DOMAIN=.domain.ext(注意等号附近的点)。

或者,如果数据库是分开的,您可以尝试使用cookie驱动程序代替数据库进行相同的配置。如果有帮助,请告诉我。

edit:更多的建议比一个答案,laravel是能够处理多个网站/域原生(例如:Route::domain('sub.domain.ext'))。实际上,您可以在routes/web.php中以这种方式组织路由。有了一个明智的数据库管理(和查询),你可以很容易地在一个Laravel应用程序中维护两个独立的网站。当然,前提是您可以控制您的web服务器。如果是这样的话,我建议你做一次折射手术。

最新更新