Я много раз искал и пытался найти правильный ответ, но не получал. Концепция - мультиарендность Laravel App. но разница в том, что имя базы данных - Dynami c, и она получает данные от пользователя.
Когда мы устанавливаем форму конфигурации БД \Config::set('database.connections.client_db', array(...));
, затем пытаемся войти в систему \Auth::login($user);
, тогда она работает для того же контроллера, но когда мы выходим за пределы этого контроллера, его Auth::check
не работает. для этого я использовал ПО промежуточного слоя для повторного входа в систему каждый раз, когда срабатывает API. эта концепция работает. но есть проблема, что его сеанс никогда не истекает. когда я нажимаю через 3 дня тот же URL или API, чем он снова возвращает данные. но он должен выйти ...
Помощник. php
function DynamicDBCall($dbName)
{
\DB::disconnect('mysql');
\DB::disconnect('client_db');
\DB::setDefaultConnection('client_db');
\Config::set('database.connections.client_db', array(......);
\Config::set('database.connections.client_db.database', $dbConfig['dbName']);
\DB::purge('client_db');
\DB::reconnect('client_db');
}
LoginController. php
function login(Request $req)
{
dynamicDatabaseConfig( dnc($dToken));
$user= User::first();
\Auth::login($user);
}
Основной код такой. dynamicDatabaseConfig( dnc($dToken))
вызывается в DynamicAuthMiddleware ..
подскажите пожалуйста как правильно ..