2015-09-22 7 views
0

У меня возникли проблемы с получением встроенной в Laravel Auth перенаправляется на правильный путь, когда пользователь не вошел в систему.Laravel По умолчанию Auth не перенаправляется на правильный путь

Из документации оказывается, что я могу добавить следование AuthController.php

// redirect paths 
    protected $redirectPath  = '/profile'; 
    protected $loginPath   = '/home'; 
    protected $redirectAfterLogout = '/home'; 

Добавление это должно позволить мне контролировать, где пользователи перенаправляются в различных обстоятельствах, однако никто, кажется, не имеют никакого эффекта.

Рытье через код, который я могу видеть маршрут аутентификации/Логин устанавливается в промежуточное/authenticate.php в функции ручки согласно ниже:

public function handle($request, Closure $next) 
    { 
     if ($this->auth->guest()) { 
      if ($request->ajax()) { 
       return response('Unauthorized.', 401); 
      } else { 
       return redirect()->guest('auth/login'); 
      } 
     } 

     return $next($request); 
    } 

Если изменить путь здесь работает, однако это конечно, не лучший способ добиться этого.

Я использую Laravel 5.1.7 и попытался PHP мастерового маршрут: четкий

Любых идеи/предложения будут фантастическими.

+0

нет никаких проблем, чтобы изменить путь в Идент промежуточного слоя, как это настраивается в соответствии с вашими потребностями – CodeRomeos

+0

Hi @CodeRomeos -Благодаря для ответа. Я могу это увидеть, но почему в документах указано, что я могу изменить перенаправления в authcontroller, если ни один из них не имеет никакого влияния ... Кажется, что-то здесь должно быть что-то неправильно ... –

+0

вы можете создать маршрут и называть его в качестве логина и промежуточного программного обеспечения, вы можете заменить «auth/login» своим именованным маршрутом как -> гость (маршрут («логин»)) – CodeRomeos

ответ

0

Используйте этот блок кода в своем контроллере, который вы хотите скрыть от выведенного из системы пользователя. Этот код перенаправит любого зарегистрированного пользователя на $loginPath, и вы также можете использовать protected $redirectTo = 'yourDesirepath' для перенаправления пользователя после входа в систему.

public function __construct() 
{ 
    $this->middleware('auth'); 
} 

Или, если вы хотите, вы можете защитить только несколько методов. Добавьте эту строку кода в свой метод.

$this->middleware('auth'); 

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

  • Нет связанных вопросов^_^