2016-11-05 3 views
1

routes.php에서 현재 인증 된 사용자에게 액세스를 시도하지만 null 값을 반환하지만 컨트롤러에서 액세스하려고하면 값이 정상으로 반환됩니다. routes.php에서 인증 된 사용자를 검색하는 방법 Laravel 5.3

dd(Auth::guard('admin'))->user()->name); 

또는 가장 좋은 방법은 루트 파일에서 현재 인증 된 사용자를 검색하는 것을 그래서

dd(auth()->guard('admin'))->user()->name); 

. 목적은 사용자가 로그인 할 때만 보호 된 경로를로드하고 등록하는 것입니다. 공용 액세스는 거의 그 경로를 필요로하지 않습니다. 또한 사용자가 로그인 한 경우에만 서비스를 등록하는 데 사용됩니다.

+0

당신은 그렇게 할 수 없습니다. 왜 그걸 해드 리려고하는지 설명해 주시겠습니까? 어쩌면 우리는 당신에게 올바른 방향을 제시 할 수있을 것입니다. –

+0

특정 사용자가 로그인 할 때 경로와 서비스를로드하지 않아도됩니다. 단지 백엔드와 프론트 엔드를 분리하여 구축 한 확장 프로그램이 많기 때문입니다. –

답변

1

Laravel이 경로 파일을 처리 할 때 인증 정보 객체가 아직 생성되지 않았으므로 무언가를 입력하면 null이 표시됩니다. routes 파일에 auth()->user()을 입력하십시오.

+0

그러면 특정 사용자가 로그인했을 때만 경로와 서비스를로드하는 가장 좋은 전략은 무엇입니까? –

+0

admin으로 추가 기능을로드하려고합니다. 대부분의 경우 가장 좋은 방법은 관리자에게 별도의 경로와 그룹을 사용하는 것입니다. 같은 경로를 사용하려면 미들웨어 또는 컨트롤러에서 사용자 역할을 확인해야합니다. –

+0

예, 일부 역할 및 허가를 적용하지만 역할 및 권한은 일부 경로에 대한 액세스를 보호하는 것입니다. –