2016-05-28 9 views
4

私は本当の問題に近づかない多くの似たような質問を見ました。ユーザーの状態に応じて、ログイン直後にユーザーを特定のURLにリダイレクトしたいと考えています。私は私がHTTP \アプリでこれを試してみましたので、これはミドルウェアでarchievedすることができます知っているLaravelの複数の動的URLリダイレクト

\ミドルウェア\ RedirectIfAuthenticated.php

class RedirectIfAuthenticated 
{ 
    /** 
    * Handle an incoming request. 
    * 
    * @param \Illuminate\Http\Request $request 
    * @param \Closure $next 
    * @param string|null $guard 
    * @return mixed 
    */ 
    public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::User()->check()) { 
      $redirect = '/client'; 
      if (Auth::user()->hasRole('admin')){ 
       $redirect = '/admin'; 
      } 
      return redirect($redirect); 
     } 
     return $next($request); 
    } 
} 

私はこれがちょうどログイン後に動作しません、今実現しています。私は管理者かクライアントかに応じてユーザーをリダイレクトしたいと思います。私は以下を使うことができます:protected $ redirectPath = '/ url/to/redirect';リダイレクトする複数のページがあります。

これを行うにはどのような方法が最適ですか?

答えて

3

あなたAuthController.phpであることを入れてアプリ/ HTTP /コントローラ/認証/ AuthController.php

public function redirectPath() 
{ 
    if (Auth::user()->hasRole('admin')){ 
     return '/admin'; 
    } 

    return '/client'; 
} 

における特性によってささげリダイレクト方法をオーバー書くことができます。

+0

ありがとうございました。これはまさに私が欲しかったように機能しました – LogicDev

+0

問題なし:) @ user5500750 – IllegalPigeon

関連する問題