0

방금 ​​laravel 5.2.45에서 5.3.15로 업그레이드했습니다. 다른 많은 사람들과 마찬가지로, 여권과 함께 제공되는 기본 테이블을 구현하는 방법에 대해 몇 가지 질문이 있습니다 명령 :Laravel 5.3 여권 마이그레이션 및 기본 사용자 테이블 수정

php artisan make:auth 

상황 1 : 나는이 개 별도의 데이터베이스 연결이 내 구성을 설정 한

. 하나의 이름은 'core'(기본 연결)이고 다른 하나는 'auth'입니다.

질문 1 : 내가 제대로 모든 단계를 수행하고 마이그레이션 할 때

는, 모든 테이블은 한 데이터베이스에 채 웁니다. 여권 마이그레이션을 인증 데이터베이스에 다른 모든 것들로부터 멀리하고 싶습니다. 이것을 어떻게 할 수 있습니까?

상황 2 :

내가 acct_user에 사용자 테이블을 변경 어디 laravel (5.2)의 이전 버전에서이 작업을 수행하기 위해 관리 (모든 설정 파일을 가정이 올바르게 설정되어 있습니다) 완벽하게 작동하도록 모든 것을 갖추고 있습니다. 현재 동일한 변경을 수행하고 사용자를 등록하려고하면 사용자가 데이터베이스에 저장하지 않습니다.

나는 를 분명히 \ 재단 \ 인증 \의 RegistersUsers에있는 코드를 뽑아 \ HTTP를 \ 컨트롤러 인증 \ 앱에있는 RegisterController 클래스의 내부 특성의 방법을 오버라이드했습니다.

코드 :

/** 
* Handle a registration request for the application. 
* 
* @param \Illuminate\Http\Request $request 
* @return \Illuminate\Http\Response 
*/ 
public function register(Request $request) 
{ 
    $this->validator($request->all())->validate(); 

    event(new Registered($user = $this->create($request->all()))); 

    $this->guard()->login($user); 

    //return redirect($this->redirectPath()); 
    //return $user; 
} 

내가 무엇을 수집 할 수 있습니다에서 위의 코드, 등록 요청을 처리하고 데이터베이스에서 사용자를 생성하기위한 직접 책임이있다. 그러나 이벤트 도우미 내부에서 계속 끊어지며 계속 리디렉션되며 사용자를 생성하지 않습니다. 수업 전반에 걸친 리디렉션을 주석 처리하려했는데 리디렉션은 이벤트 도우미 자체에서 발생합니다. 이 점을 염두에두고, 우편 배달부를 이용하여 요청합니다.

질문 2 :

내가 잘못 여기서 뭔가를하고 있습니까? 나를 리디렉션하지 않고 단순히 사용자 개체를 반환하도록하려면 어떻게합니까?

상황 3 :

내가 로그인을 할 때

또는 내가 다시 laravel_token 쿠키를 얻을 것으로 예상하고있어 관련 여권 우편 배달을 통해 요청을 등록 (자체 소비하는 응용 프로그램을 시뮬레이션하기 위해 시도) 내부에 JWT가 내장되어 있습니다.

질문 3 : 우편 배달을 통해

는 어떻게 반환이를 얻을 것 ??현재 어디서나 찾을 수 없기 때문에 어디에서 보입니까? 어쩌면 여기서 뭔가 잘못하고있는 것일 수도 있습니다.

모든 도움을 주시면 대단히 감사하겠습니다.

답변

1

비슷한 문제를 시도하면서이 문제가 발생했습니다. 이 질문이 나온 이래로 일부 질문에 대한 결과로 발생할 수있는 내부 문제를 해결하는 라우트/패스포트 공급 업체 코드에 몇 가지 새로운 개정이있었습니다.

그러나, 직접 당신이 질문에 대답하기 :

질문 1 : 내가 제대로 모든 단계를 수행하고 마이그레이션 할 때

는 모든 테이블이 하나 개의 데이터베이스에 채 웁니다. 여권 마이그레이션을 인증 데이터베이스에 다른 모든 것들로부터 멀리하고 싶습니다. 이것을 어떻게 할 수 있습니까?

대답 1 :.이 질문은 laravel/여권 GitHub의에 비슷한 방식으로 질문과 응답이 그들이에 추가해야합니다 추가 기능이 될 것이라고 하였다

현재이 없음 패스포트 프레임 워크에 임베드 된 이후가 아니면 여권 마이그레이션을 다른 모든 것에서 분리하는 명확하고 적절한 방법입니다.

질문 2 :

내가 잘못 여기서 뭔가를하고 있습니까? 나를 리디렉션하지 않고 단순히 사용자 개체를 반환하도록하려면 어떻게합니까?

대답 2 :

App\Http\Controllers\Auth\ directory 이내, App\Http\Middleware\RedirectIfAuthenticated.php 파일의 방법을 확인하고 전화를 리디렉션 주석. 그러면 원래 redirect-> 전화가 있었던 지점에서 return $variable;을 수행 할 수 있습니다.

질문 3 : 우편 배달을 통해

는 어떻게 반환이를 얻을 것 ?? 현재 어디서나 찾을 수 없기 때문에 어디에서 보입니까? 어쩌면 여기서 뭔가 잘못하고있는 것일 수도 있습니다.

대답 3 :

대답이를 통과함으로써 당신은 몇 가지 변수에 DB 쿼리에서 반환 된 값을 할당 할 수 있어야하고, 그 특정 변수를 돌아갑니다.

희망이 도움이됩니다.