Laravel上的多个SESSION_DOMAIN

n8ghc7c1  于 2023-10-22  发布在  其他
关注(0)|答案(4)|浏览(144)

我正在开发一个Laravel 5.8应用程序,格式如下:

  • 2个身份验证表(“用户”和“客户端”)
  • 3个子域(“app.mysite.com“、“dashboard.mysite.com“、“client.mysite.com“)

“客户端”将只访问来自“client.mysite.com“子域的页面。“用户”将访问来自“app.mysite.com“和“dashboard.mysite.com“子域的页面,所以我需要在此之间持久化cookie。
我怎么能做到?Laravel中有多个SESSION_DOMAIN系统吗?

z9smfwbn

z9smfwbn1#

使用.mysite.com来包含所有的子域,注意mysite.com之前有一个dot

'domain' => .mysite.com
hmtdttj4

hmtdttj42#

Go to software/session.php
替换此行
'domain' => env('SESSION_DOMAIN', null),
通过

'domain' => env('SESSION_DOMAIN', '.yourdomain.td'),

您也可以通过在.env文件中添加此密钥来完成此操作

SESSION_DOMAIN='yourdomaine.td'

不要忘记运行这些命令

php artisan config:cache

php artisan cache:clear
yws3nbqq

yws3nbqq3#

可以通过使用多个守卫为每个用户模型(管理员,客户......)构建多个认证系统:https://medium.com/@sagarmaheshwary31/laravel-multiple-guards-authentication-setup-and-login-2761564da986
对于多域名有几种方法可以做到这一点

Route::group(['domain' => 'www.domain.com'], function(){
        //...
    });

    Route::group(['domain' => 'mobile.domain.com'], function(){
        //...
    });

    Route::group(['domain' => 'admin.domain.com'], function(){
        //...
    });

看这个:https://medium.com/@maxkostinevich/how-to-build-multi-domain-laravel-application-e6d87d5e507b

w41d8nur

w41d8nur4#

默认情况下,使用.env文件配置会话。您可以在config/session.php文件中覆盖它:

'domain' => env('SESSION_DOMAIN', null),

更改为类似于:

'domain' => $_SERVER['SERVER_NAME'],

相关问题