Laravel 10 사용자 정의 로그인/등록이 대시보드 페이지에 들어가지 않습니다.
P粉162773626
2023-09-05 14:04:13
<p>저는 로그인/등록을 직접 수행하는 방법을 배우고 싶기 때문에 breez 패키지를 사용하고 싶지 않기 때문에 나만의 사용자 정의 Laravel 10 로그인/등록을 만들려고 합니다. </p>
<p>하지만 대시보드 페이지에 인증할 수 없는 것 같습니다. </p>
<p>대시보드 기능에서 if 문 <code>if(Auth::check())</code>을 사용하여 데이터베이스에서 사용자를 인증하고 있습니다. </p>
<p>하지만 로그인 페이지로 다시 리디렉션할 때 오류 메시지가 계속 표시되기 때문에 이 방법은 제게는 효과가 없습니다(<strong>새 사용자를 데이터베이스에 등록할 때만 발생합니다</strong>). 로그인을 시도할 때마다 로그인 페이지에 있는 동안 로그인 기능(<strong>자세한 코드 보기</strong>)에서 성공 메시지를 받습니다. </p>
<p><strong>AuthController(대시보드): </strong></p>
<pre class="brush:php;toolbar:false;">공개 함수 대시보드(): 보기
{
if(Auth::check()) {
return view('auth.dashboard');
}
return view('auth.login')->with('error', '접근이 허용되지 않습니다.');
}</pre>
<p><strong>AuthController(로그인): </strong></p>
<pre class="brush:php;toolbar:false;">공개 함수 loginPost(Request $request): RedirectResponse
{
$요청->검증([
'이메일' => '필수',
'비밀번호' => '필수'
]);
$credentials = $request->only('이메일', '비밀번호');
if(Auth::attempt($credentials)) {
$request->session()->regenerate();
return 리디렉션()->intended(route('dashboard'))->with('성공', '성공적으로 로그인했습니다.');
}
return direct(route('login'))->with('error', '이런! 잘못된 자격 증명을 입력했습니다.');
}</pre>
<p><strong>web.php</strong></p>
<pre class="brush:php;toolbar:false;">Route::get('/register', [AuthController::class, 'register'])->name('register');
Route::post('/register', [AuthController::class, 'registerPost'])->name('register.post');
Route::get('/login', [AuthController::class, 'login'])->name('login');
경로::post('/login', [AuthController::class, 'loginPost'])->name('login.post');
Route::get('/dashboard', [AuthController::class, 'dashboard'])->name('dashboard');
경로::post('/logout', [AuthController::class, 'logout'])->middleware('auth')->name('logout');</pre>
<p>아직 해결책을 찾지 못했는데 혹시 도움을 주실 수 있는 분이 계시다면 감사하겠습니다. </p>
안녕하세요, 로그아웃 기능은 미들웨어로 보호됩니다. 대시보드 라우팅 미들웨어도 추가해야 하며, 인증 미들웨어가 필요한 경로를 그룹화할 수 있습니다.
으아악당신의 경로
으아악컨트롤러:
으아악로그인 블레이드
으아악등록 페이지
으아악이것이 모든 의심을 해결할 것이라고 생각합니다