2016-08-23 2 views
7

Я использую лески Auth в Laravel 5.3, и я изменил маршруты для auth. Итак, вместо /login и /register Я использую /signin и /signup.Перенаправление, если оно заверено в Laravel 5.3

В Laravel 5.2 мы должны были это по умолчанию в auth промежуточного слоя,

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->guest()) { 
     if ($request->ajax() || $request->wantsJson()) { 
      return response('Unauthorized.', 401); 
     } 

     return redirect()->guest('login'); 
    } 

    return $next($request); 
} 

Это редирект на login маршрут, если пользователь не вошли в систему. В Laravel 5.3 мы имеем это,

public function handle($request, Closure $next, $guard = null) 
{ 
    if (Auth::guard($guard)->check()) { 
     return redirect('/'); 
    } 

    return $next($request); 
} 

Это перенаправляет уже зарегистрированного пользователя на маршрут по умолчанию /. Поэтому они включили его в 5.3. Вместо того, чтобы определять, куда гость идет, мы определяем, что вошедшие в систему пользователи идут.

Мой вопрос, как бы я изначально к Laravel 5,3 изменения были гости идут?

Потому что на данный момент люди, которые пытаются получить доступ к сайтам, защищенным промежуточным программным обеспечением, автоматически оказываются на маршруте /login. Я хотел бы изменить это на /signin, но я не могу найти нигде, чтобы настроить это поведение.

Любые идеи?

ответ

6

Как бы я «изначально» до Laravel 5.3 сменить гости были?

Looks like есть новый метод unauthenticated() в app/Exceptions/Handler.php, который обрабатывает неаутентифицированные пользователь и перенаправляет на login.

Поскольку это часть вашего приложения, нет причин, по которым вы не можете настроить его для перенаправления в другом месте.

+1

Спасибо! Бог ... Я везде выглядел, кроме него. – Ecaz

0

Вы можете попробовать это в app.blade.php с JS:

@if (Auth::guest()) 
<script type="text/javascript"> window.location = "{{url('/login')}}"; </script> 
@endif 
Смежные вопросы