#laravel #authentication #database-connection #subdomain
#laravel #аутентификация #подключение к базе данных #поддомен
Вопрос:
Я создаю приложение, в котором каждый поддомен имеет свою собственную базу данных. Например:
«example1.app.dev» использует базу данных «example1_dbo»
«example2.app.dev» использует базу данных «example2_dbo»
У каждого поддомена есть свои пользователи, что означает, например:
пользователь_ex1 может войти только в example1.app.dev, потому что он установлен в example1_dbo
пользователь_ex2 может войти только в example2.app.dev, потому что он установлен в example2_dbo
Как мне достичь этого с помощью Laravel Auth? В основном я установил маршрутизацию поддомена:
Route::domain('{account}.myapp.dev')->group(function () {})
И я настроил подключения к базе данных в config/database.php и файл env.
Я использовал эту концепцию в моделях Eloquent с Model->setConnection($account)
Но этот метод исчерпывает себя, пока приложение растет…
Я ищу промежуточное программное решение, в котором я могу изменить подключение к БД по умолчанию для запроса глобально, а также для аутентификации, пока мне не удалось заставить аутентификацию работать.
Ответ №1:
Вы пробовали этот пакет:https://github.com/stancl/tenancy
Это предусмотрено из коробки. надеюсь, это полезно.
Комментарии:
1. Спасибо! Это было очень полезно. Я прочитал документы и восхищаюсь концепцией. В итоге я получил промежуточное программное обеспечение, аналогичное концепции арендатора, в котором я меняю dbo conn и locale по умолчанию. Работает как шарм.