Настройка SaaS-приложения с помощью laravel - PullRequest
0 голосов
/ 06 мая 2019

Мне нужна помощь, проблема, с которой я сталкиваюсь.Предположим, у вас есть домен, например aaa.xyz.com , и другой домен, например bbb.xyz.com .Поэтому, когда мой пользователь пытается войти на aaa.xyz.com , тогда все операции с пером должны работать на базе aaa для этого субдомена соответственно, если пользователь входит в систему с bbb.xyz.com затем bbb база данных должна выполнять все функции

Как настроить такую ​​систему с использованием PHP laravel framework

1 Ответ

0 голосов
/ 06 мая 2019

Существует несколько различных подходов, я упомяну пару из них:

Первый подход Сохраните несколько файлов env для соответствующего домена (содержащих учетные данные базы данных каждого домена) и используйте требуемый файл, как показано ниже (напишите этот код в вашем bootstrap \ app.php прямо перед возвратом $ app ):

$envFile = $_SERVER['HTTP_HOST'] == 'aaa.xyz.com' ? '.env-aaa' : $_SERVER['HTTP_HOST'] == 'bbb.xyz.com' ? '.env-bbb'; $app->loadEnvironmentFrom($envFile);

Вы также можете создать группы маршрутов в файле web.php / rout.php, как показано ниже, чтобы сохранить код чистым:

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

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

Второй подход (если у вас более 2 доменов или вы планируете добавить больше доменов в будущем) Вот шаги:

  1. Создайте родительскую базу данных и таблицу, содержащую учетные данные всех доменов вместе с именем домена.
  2. Когда домен поражен, проверьте в родительской базе данных наличие этого URL, получите учетные данные в вашем проекте и сохраните их в сеансе в зашифрованном виде и передайте их в файл database.php. Надеюсь, это поможет!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...