登录视图显示空白页面,网址为:/login 登录时

我正在使用 Laravel 内置身份验证方法。


我有一个重定向功能,它返回不同用户角色的路由。


转到它时它不会重定向到指定的 URL,/login它只是/login在 HTML 中显示一个带有普通路由 ( )的空白 URL


我已经搜索了这个文档,但找不到这个问题的解决方案。


这段代码确实产生了我认为的问题:


//Auth/LoginController 


protected function redirectTo()

{


    if (!Auth::guest()) {

        if (Auth::user()->is_active != 0) {

            if(Auth::user()->hasRole('administrator')) {

                $this->redirectTo = '/admin';

                return $this->redirectTo;

           } else if(Auth::user()->hasRole('customer')) {

                $this->redirectTo = '/customer';

                return $this->redirectTo;

           } else {

              return '/logout'; 

           } 

        } else {

            return '/dashboard';

        }

    } else {

        return '/login';

    }

}

当我使用重定向时:


 protected function redirectTo()

    {

        if (!Auth::guest()) {

            if (Auth::user()->is_active != 0) {

                if(Auth::user()->hasRole('administrator')) {

                    $this->redirectTo = '/admin';

                    return redirect($this->redirectTo);

               } else if(Auth::user()->hasRole('customer')) {

                    $this->redirectTo = '/customer';

                    return redirect($this->redirectTo);

               } else {

                  return redirect('/logout'); 

               } 

            } else {

                return redirect('/dashboard');

            }

        } else {

            return redirect('/login');

        }

    }

我收到此错误:


此页面无效 [..] 重定向您太多次。


转到登录路线时,我如何重定向用户。


提前致谢!!


12345678_0001
浏览 286回答 1
1回答

神不在的星期二

由于与另一个登录重定向功能冲突,这解决了重定向和太多重定向错误:protected function loggedOut(Request $request) {    return redirect('/login');}    protected function redirectTo(){    if (!Auth::guest()) {        if (Auth::user()->is_active != 0) {            if(Auth::user()->hasRole('administrator')) {                $this->redirectTo = '/admin';                return redirect($this->redirectTo);           } else if(Auth::user()->hasRole('customer')) {                $this->redirectTo = '/customer';                return redirect($this->redirectTo);           } else {              return redirect('/logout');            }         } else {            return redirect('/dashboard');        }    } else {        return view('auth.login');    }}
打开App,查看更多内容
随时随地看视频慕课网APP