Метод RedirectTo в loginController в laravel не работает - PullRequest
0 голосов
/ 24 марта 2020

Я хочу, чтобы перенаправить каждого пользователя на его страницу зависит от его роли, и это redirectTo (), который я сделал в loginController, при каждом входе в систему они перенаправляют меня на домашнюю страницу, и у них нет доступа к методу redirectTo

    public function redirectTo()
    {
        $role = Auth::user()->roles;
        $role="codingTeam";
        switch($role){
            case 'codingTeam':
                return '/codingTeam';
            break;
            case 'admin':
                return '/admin';
            break;
            case 'secretariat':
                return '/secretariat';
            break;
            default:
                return 'auth/login';
            break;
        }
    }

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

попробуйте

private function redirectTo()
    {
        $role = Auth::user()->roles;
        $role="codingTeam";
        switch($role){
            case 'codingTeam':
               return redirect('/codingTeam') ;
            break;
            case 'admin':
              return redirect('/admin');
            break;
            case 'secretariat':
                return redirect('/secretariat');
            break;
            default:
                return redirect('auth/login');
            break;
        }
    }
0 голосов
/ 24 марта 2020

В LoginController у вас есть свойство protected $redirectTo. Если вы хотите сделать redirect() сначала, вам нужно определить свойство redirectTo,

    private function redirectTo()
    {
        $role = Auth::user()->roles;
        $role="codingTeam";
        switch($role){
            case 'codingTeam':
                $this->redirectTo = '/codingTeam';
            break;
            case 'admin':
                $this->redirectTo = '/admin';
            break;
            case 'secretariat':
                $this->redirectTo = '/secretariat';
            break;
            default:
                $this->redirectTo = 'auth/login';
            break;
        }
    }

и после в действии использовать вызов $this->redirectTo() и после return redirect($this->redirectPath())

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...