2016-10-11 8 views
1

등록 후 Laravel이 자동으로 로그인하지 못하도록 postRegister() 메서드를 무시하고 싶습니다. 그래서 AuthController.php 내부했다 :Laravel 5.1 등록이 작동하지 않는 후 리디렉션

public function postRegister(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    $this->create($request->all()); 

    return redirect('test'); 
} 

Laravel 내가 원하는 같은 문제가 리디렉션 라인에 로그인없이 사용자를 만듭니다. 매우 이상한 이유로 사용자는 항상 '/auth/login' 경로로 리디렉션합니다. 내 모든 미들웨어 댓글을 달았습니다 단지가 리디렉션을 수행 일부 미들웨어 있지 않은지 확인합니다 :

protected $routeMiddleware = [ 
    'auth' => \CapTable\Http\Middleware\Authenticate::class, 
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 
    'guest' => \CapTable\Http\Middleware\RedirectIfAuthenticated::class, 
    'activated' => \CapTable\Http\Middleware\UserActive::class, 
]; 

나는 모든 가능한 캐시 또는 설정 파일을 청소 php artisan clear-compiledphp artisan cache:clearphp artisan clear:config을 시도했지만 Laravel은 여전히 ​​ /auth/login로 리디렉션을 수행.

코드에서 일부 디버깅을 한 후 공급 업체의 원본을 재정의하는 새 기능을 보았습니다.

정말 아이디어가 없으면 여기 누군가가 비슷한 문제를 겪고 있거나 어떻게 진행되고 있는지 알 수 있습니까?

P. test은 사용자를 리디렉션하려는 경로의 별칭입니다. 그렇지 않으면, 문제는 백엔드에 없었다 return Redirect::to('http://example.com/login'); 또는 return Redirect::back();

답변

0

정확한 경로를 제공하십시오. 내 프런트 엔드 (Angular.js)에서 Laravel 리디렉션을 재정의하는 리디렉션이있었습니다.

window.location = '/auth/login'; 

하지만 중요한 교훈을 배웠습니다. 항상 프론트 엔드를 확인하십시오.

+0

성공하지 못했습니다 .... 정말 이상합니다. 내 postLogin 함수가 AuthController에서 재정의되어 잘 작동했습니다. –

+0

얘들 아, 나는 문제를 해결했다. 내 문제는 Angular.js입니다. 프론트 엔드 컨트롤러에서 백엔드 리디렉션을 무시하는 '인증 ​​/ 로그인'리디렉션이있었습니다. 시간 내 주셔서 감사합니다. –

0

사용해보십시오

public function postRegister(Request $request) { 

     // your code here 

return redirect('/login'); //This is the actual route as defined and not an alias 

} 

당신의 route.php에 정의 된

감사합니다 얘들 아

관련 문제