【问题标题】:how can i redirect user , seller and admin to their panel in laravel 5我如何将用户、卖家和管理员重定向到他们在 laravel 5 中的面板
【发布时间】:2018-07-22 10:15:46
【问题描述】:

我在用户表中有级别列,我想在登录后重定向到他们在 laravel 中的面板,但我不知道在哪里检查和重定向用户??? 我尝试安全登录

这段代码是否正确?

 protected function authenticated(Request $request, $user)
{
     if(auth()->user()->isAdmin())
    {
        return redirect('/admin/panel');
    } elseif(auth()->user()->isWriter())
    {
        return redirect('/writer/panel');
    }
    return redirect('/user/panel');
}

【问题讨论】:

    标签: laravel


    【解决方案1】:

    redirectPath() 方法覆盖到您的LoginController

    class LoginController extends Controller
    {
        use AuthenticatesUsers;
    
        public function redirectPath()
        {
            if (auth()->user()->isAdmin())
            {
                return '/admin/panel';
            }
            elseif (auth()->user()->isWriter())
            {
                return '/writer/panel';
            }
            return '/user/panel';
        }
    }
    

    【讨论】:

      【解决方案2】:

      在使用Illuminate\Foundation\Auth\AuthenticatesUsers trait 进行身份验证的 LoginController 中,您必须重写 redirectTo() 方法并编写自己的逻辑。所以你必须像这样的代码:

       protected function redirectTo(){
              $user = User::whereId(Auth::id())->first();
      
              if(isset($user)){
                  if($user->role == 'admin'){
                      return '/admin/panel';    //path to admin panel
                  }elseif($user->role == 'writer'){
                      return '/writer/panle';   //path to writer panel
                  }
              }
              return '/';
          }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-23
        • 2011-12-25
        • 1970-01-01
        • 2023-04-01
        • 2019-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多