2016-08-23 15 views
7

Auth足場をLaravel 5.3に使用しており、authのルートを変更しました。したがって、/login/registerの代わりに、/signin/signupを使用します。我々はauthミドルウェアにデフォルトでこれを持っていたLaravel 5.2Laravel 5.3で認証されている場合はリダイレクト

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認証されていないユーザーを処理し、loginにリダイレクトapp/Exceptions/Handler.phpの新しいunauthenticated()方法があります。

これはアプリの一部なので、別の場所にリダイレクトするためにカスタマイズできない理由はありません。

+1

ありがとうございました!神様...私はそこを除いてどこでも見ました。 – Ecaz

0

あなたはJSとapp.blade.phpでこれを試すことができます。

@if (Auth::guest()) 
<script type="text/javascript"> window.location = "{{url('/login')}}"; </script> 
@endif 
関連する問題