2015-04-27 7 views
2

Для моего веб-приложения у нас есть поддомены для каждой учетной записи account1.example.org & account2.example.org. Все они отправляются в одно и то же место, только это позволяет нам иметь учетную запись в URL-адресе.Laravel 5 Войти перенаправить на поддомен

У меня есть все, что работает с поддоменами. Моя проблема связана с кодом входа Laravel 5. Я не уверен, как заставить его перенаправить на поддомену (который хранится в БД и доступен Auth :: user() -> account-> sub_domain).

Я видел, как люди пытаются изменить действие, но не добавляют к нему адрес. Каков наилучший способ сделать это?

ответ

3

Определение route -

Route::get(['domain' => '{account}.myapp.com'], function($account){ 
    // Process data or redirect 
}); 

И после входа -

Redirect::to('account1.myapp.com'); 
+0

Я бы, вероятно, использовал 'Route :: group' для первой части, чтобы охватить все маршруты. Однако, куда бы направил переадресацию? –

+0

Мое текущее мышление переопределяет postLogin, как я делаю с getRegister, и меняю ссылки таким образом. –

+0

просто добавьте метод, который будет обрабатывать запрос для этих поддоменов. –

0

Так с помощью SGT BOSE, это то, что я придумал.

В моей AuthController.php я добавил

/** 
* Redirect Path 
* 
* @return \Illuminate\Http\RedirectResponse 
*/ 
public function redirectPath() 
{ 
    $redirectTo = property_exists($this, 'redirectTo') ? $this->redirectTo : '/home'; 

    $url = Config::get('app.url'); 
    $subDomain = Auth::user()->account->sub_domain; 
    $scheme = parse_url($url, PHP_URL_SCHEME); 
    $host = parse_url($url, PHP_URL_HOST); 
    return $scheme.'://'.$subDomain.'.'.$host.$redirectTo; 
} 

Что это делает возвращает ссылку на postLogin и postRegister. Этот метод вызывается только тогда, когда они успешны. Получает мой поддомен и строит ссылку на основе элемента конфигурации для моего URL-адреса.

Чтобы убедиться, что вход в систему работал, мне также пришлось изменить элемент домена в файле config/session.php. 'domain' => null -> 'domain' => '.example.org'.

Смежные вопросы