Я пытаюсь пройти аутентификацию маршрутизации поддомена работает для некоторых специфических переменных подобластей:Laravel подлинность динамической маршрутизации субдомны
app.example.com
staging.app.example.com
testing.app.example.com
Они должны быть охраняемым Идентом ИМ. Все они в основном ссылаются на app.example.com
, но для разных сред.
Все, что попадает эти домены должны идти на гостевых маршрутах:
example.com
staging.example.com
testing.example.com
Это то, что я пытался до сих пор ...
создал этот межплатформенное, чтобы предотвратить параметр поддомена от портя другие маршруты и позволить успешной аутентификации для перенаправления app.example.com
:
class Subdomain
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
$route = $request->route();
$subdomain = $route->parameter('subdomain');
if (!empty($subdomain) && preg_match('/^(staging|testing)\.(app.\)?/', $subdomain, $m)) {
\Session::put('subdomain', $m[1]);
}
$route->forgetParameter('subdomain');
return $next($request);
}
}
Добавлен это Kernel.php:
protected $routeMiddleware = [
'subdomain' => \App\Http\Middleware\Subdomain::class,
];
Содержание routes.php:
Route::group(['domain' => '{subdomain?}example.com', 'middleware' => 'subdomain'], function() {
// Backend routes
Route::group(['middleware' => 'auth'], function() {
Route::get('/', ['as' => 'dashboard', 'uses' => '[email protected]']);
// ...various other backend routes...
});
// Frontend routes
Route::auth();
Route::get('/', function() {
return view('frontend');
});
});
Когда я получить доступ к любому маршруту, я могу проследить, что ничто не попадает в subdomain
... межплатформенное он просто перенаправляет на страницу 404.
Как я могу сделать эту работу в Laravel 5.2?