/home/mip/mip/app/Modules/Client/Middleware/Authenticate.php
<?php
namespace QxCMS\Modules\Client\Middleware;
use Closure;
use Config;
use Illuminate\Support\Facades\Auth;
class Authenticate
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
* @return mixed
*/
public function handle($request, Closure $next, $guard = 'client')
{
if (Auth::guard($guard)->guest()) {
if ($request->ajax() || $request->wantsJson()) {
return response('Unauthorized.', 401);
} else {
return redirect()->guest('client/auth/login');
}
}
$client = Auth::guard($guard)->user()->client;
config(['auth.defaults.guard' => $guard]);
config(['account.dateformat.default' => $client->date_picker_format]);
config(['account.displaydateformat.default' => $client->display_date_format]);
Config::set('database.connections.client', array(
'driver' => 'mysql',
'host' => $client->database_host,
'database' => env('DB_PREFIX', 'qxcms_').$client->database_name,
'username' => $client->database_username,
'password' => $client->database_password,
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
));
Config::set('filesystems.disks.s3', array(
'driver' => 's3',
'key' => $client->s3_key,
'secret' => $client->s3_secret,
'region' => $client->s3_region,
'bucket' => $client->s3_bucket_name,
'scheme' => 'http',
));
return $next($request);
}
}