찾다

 >  Q&A  >  본문

Laravel에서 사용자 인증 및 확인 메시지 표시 문제

<p>Laravel에서 사용자를 인증하고 확인 메시지를 표시하는 데 문제가 있습니다. 로그인 시도 시 사용자가 올바르게 인증되지 않아 인증 오류 메시지가 표시되지 않습니다. </p> <p>인증 및 검증을 위해 공식 Laravel 문서를 따랐지만 인공지능의 도움을 받아도 예상한 결과를 얻지 못했습니다.以下是我的一些代码 Pictures段:</p> <pre class="brush:php;toolbar:false;">공용 함수 저장소(요청 $request) { $요청->검증([ '이메일' => '필수|이메일', '비밀번호' => '필수의', ]); $credentials = $request->only('이메일', '비밀번호'); if (auth()->attempt($credentials)) { $user = 인증()->사용자(); $request->session()->put('사용자', $user); return 리디렉션()->route('home'); } 던져 ValidationException::withMessages([ '이메일' => '이메일 또는 비밀번호가 잘못되었습니다.', ]); }</pre> <p>这是HTML代码:</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html lang="ko"> <머리> <메타 문자 집합="UTF-8"> 로그인 </머리> <본문>

로그인

<form action="/login" method="게시물"> @csrf <입력 유형="이메일" 이름="이메일" 자리 표시자="이메일"> <입력 유형="비밀번호" 이름="비밀번호" 자리 표시자="비밀번호"> <입력 유형="제출" value="로그인"> </양식> </body> </html></pre> <p>最后,是路由:</p> <pre class="brush:php;toolbar:false;"><?php IlluminateSupportFacadesRoute를 사용하세요. AppHttpControllersUserController를 사용하세요. AppHttpControllersHomeController를 사용하세요. AppHttpControllersLoginController를 사용하세요. Route::get('/users', [UserController::class, 'index'])->name('users.index'); Route::get('/users/create', [UserController::class, 'create']); Route::post('/users', [UserController::class, 'store']); Route::get('/users/{user}', [UserController::class, 'show']); Route::get('/users/{user}/edit', [UserController::class, 'edit']); Route::put('/users/{user}', [UserController::class, 'update']); Route::delete('/users/{user}', [UserController::class, 'destroy'])->name('users.destroy'); Route::get('/home', [HomeController::class, 'index'])->name('home'); 경로::get('/login', [LoginController::class, 'index'])->name('login'); 경로::post('/login', [LoginController::class, 'store']); ?></pre> <p>我尝试使用登录表单中提供的凭据对用户进行身份验证。如果凭据正确,我期期望Laravel能够正确地对用户进行身份验证.또한 <code>LoginController</code>의 <code>store()</code> 메소드에서 <code>$request->validate([...])</code>를 사용합니다. 유효성 검사 규칙이 설정됩니다. 이메일과 비밀번호 필드가 올바르게 채워지지 않으면 Laravel은 <code>login.blade.php</code> 보기에 오류 메시지를 표시할 것으로 예상됩니다. </p> <p>올바른 자격 증명을 사용하여 로그인 양식을 제출하면 Laravel은 사용자를 올바르게 인증하지 못하고 오류 메시지를 표시하지 않고 로그인 페이지로 다시 리디렉션됩니다. 빈 필드나 잘못된 데이터가 포함된 양식을 제출하면 해당 오류 메시지도 보기에 표시되지 않습니다. 대신 양식은 피드백 없이 로그인 페이지로 다시 리디렉션됩니다. </p> <p>뭔가 누락되었거나 잘못 구성되어 Laravel이 사용자를 제대로 인증하지 못하고 확인 메시지를 표시하지 못하는 것 같습니다. </p> <p>이 문제를 해결하는 데 도움을 주시면 매우 감사하겠습니다. </p>
P粉071626364P粉071626364436일 전668

모든 응답(1)나는 대답할 것이다

  • P粉502608799

    P粉5026087992023-09-05 00:46:08

    처음에 이메일과 비밀번호를 확인하셨네요. 로그인에 실패한 후 예외가 발생했기 때문에 로그인 페이지로 리디렉션되지 않습니다. 따라서 오류가 있는 이전 페이지로 리디렉션되어야 합니다.

    따라서 저장 방법을 다음과 같이 수정하세요.

    으아악

    이제 로그인 페이지의 블레이드 파일에 다음 코드를 사용하면 오류가 인쇄됩니다. 필요에 따라 디자인이나 기타 콘텐츠를 수정하세요

    으아악

    회신하다
    0
  • 취소회신하다