Laravel 미들웨어는 사용자가 로그인했는지 인식할 수 없습니다.
P粉935883292
P粉935883292 2024-03-25 23:18:57
0
2
376

저는 Laravel 8을 사용하고 있으며 사용자가 is_staffis_superuser1으로 설정했는지 확인하기 위해 미들웨어를 적용하고 싶습니다. 그러면 관리자 대시보드에 액세스할 수 있고 그렇지 않으면 액세스할 수 없습니다.

그러기 위해 저는 이것을 만들었습니다:

으아악

이제 문제는 redirect('/');을 반환한다는 것입니다. 이는 미들웨어가 사용자가 로그인했음을 인식하지 못하지만 사용자는 이미 로그인되어 있음을 의미합니다.

미들웨어를 다음과 같이 등록했습니다:

으아악

내 관리 경로에 적용했습니다(RouteServiceProvider.php):

으아악

다음은 admin.php 경로입니다:

으아악

여기서 무엇이 잘못됐나요? 이 문제를 어떻게 해결할 수 있나요?

P粉935883292
P粉935883292

모든 응답(2)
P粉354602955

전체 경로가 표시되지는 않지만 사용량은 기록되지 않을 것입니다.

다음을 신청할 수 있습니다:

으아악

모든 관리 경로에 적용됩니다. 따라서 로그인 양식이 있고 로그인 데이터를 채울 때 사용자는 이 미들웨어가 적용된 일부 엔드포인트에 도달하므로 미들웨어가 /로 다시 리디렉션되기 때문에 사용자가 실제로 로그인한 컨트롤러에 도달하지 않습니다.

로그인/알림 비밀번호를 제외한 모든 경로는 미들웨어를 적용해야 하며, 그렇지 않으면 로그인이 불가능합니다.

P粉797004644

관리 경로에 web미들웨어도 추가해야 할 것 같아요.

으아아아

Auth::check() 세션에서 현재 로그인된 사용자를 가져오세요.

web 미들웨어 그룹은 여러 미들웨어를 적용하는 세션을 활성화합니다

으아아아

없으면 web 미들웨어 세션을 사용할 수 없습니다

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿