2016-11-12 2 views
0

이 Auth 리디렉션 문제를 해결하는 데 도움을주십시오.Laravel 5.3/home보기로 이동

현재 저는 laravel 5.3.22를 사용하고 있습니다. 이미 입력했습니다

protected $redirectTo = 'dashboard'; 

내 loginController에 입력하십시오.

http://myapp.localhost/login 

가 제대로 "로그인 페이지"보여줍니다

그럼 난 내 브라우저에서 재 테스트합니다. 그런 다음 로그인을 계속하면 "대시 보드"로 올바르게 리디렉션됩니다.

문제는 여기에 있습니다. 성공적으로 로그인을 시도한 후

http://myapp.localhost/login 

로 이동하면 사용할 수없는 "집"으로 리디렉션됩니다. '대시 보드'로 이동해야합니다.

도와주세요. 먼저 1 장인의 PHP 메이크업과 컨트롤러 :: HomeController 2 응용 프로그램 디렉토리 경로에 경로 추가를 만들에서 경로 을 routes.php에 추가해야합니다

+0

미들웨어를 편집하셨습니까? 원인 'RedirectIfAuthenticated.php'이 미들웨어는 사용자가 로그인 페이지를 시도 할 때 홈 페이지로 리디렉션합니다. –

+1

그래, 미들웨어가 대답입니다. –

답변

2

이 다음과 같은 파일을 그것에서 RedirectIfAuthenticated.php

변경을 참조해야 folder /app/http/Middleware/에보고하십시오.

참고, 해당 사용자가 0,123 경우 전송

/app/Controllers/Auth/LoginController.php

당신은 로그인 후 전송되는 위치를 지시하는

반면,

/app/Middleware/RedirectIfAuthenticated.php

컨트롤성공적으로 로그인하면 요청이 요청됩니다.

+0

으로 리디렉션됩니다. 여기가 문제의 원인입니다. 도움이되는 도움에 감사드립니다. 코드를 테스트했는데, 이미 사용자가 이미 로그인 한 경우 올바르게 http : // myapp.localhost/dashboard로 리디렉션됩니다. –

0

: (('/ 홈'기능을 얻을) { 반환보기 ('집');}); 3- 나중에 dir resources/views/home.blade.php에 home.blade.php라는 페이지를 만들어야합니다.

+0

Laravel의 intsllation 확인 후 데이터베이스에 테이블 사용자 및 세션이 표시되지 않으면 - php artisan migrate 명령을 실행하여 테이블을 만들어야합니다! 또는 php artisan make_auth –

+0

도움 주셔서 감사합니다. 하지만 리디렉션은 "집"이 아닌 "대시 보드"로 이동해야합니다. 로그인 프로세스가 완료되면 대시 보드로 올바르게 리디렉션됩니다. 하지만 이미 로그인했다면 수동으로'http : // myapp.localhost/login'로 가서'http : // myapp.localhost/dashboard' 대신'http : // myapp.localhost/home'로 리디렉션합니다. –

+0

Route :: get ('/ dasboard', function() {돌아 가기 뷰 ('dashborad');}); –

0

그건 ... 캐시를 지웠습니까? 위의 단계는 다음과 같은 방법으로 이동 수행 성공하지 않은 경우

$ php artisan cache:clear 
$ php artisan config:clear 
$ php artisan clear-compiled 

는 : 인 LoginController 사용 AuthenticatesUsers 사용 RedirectsUsersredirectPath() 방법을 소유하고 특성을 특성을. 이 경우는 다음과 같이 재정의 할 수 있습니다 : 당신이 그것을 알아 냈 수했듯이, 당신은 인 LoginController의 조각을 삽입해야

public function redirectPath() 
{ 
    return '/Dashboard'; 
} 

. 당신은 괜찮을 것

public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::guard($guard)->check()) { 
      return redirect('/dashboard'); 
     } 

     return $next($request); 

:

public function handle($request, Closure $next, $guard = null) 
    { 
     if (Auth::guard($guard)->check()) { 
      return redirect('/home'); 
     } 

     return $next($request); 

에 :

관련 문제