Laravel 8 로그인에 Remember Me 기능을 추가하는 방법은 무엇입니까?
9488 단어 howphpauthenticationlaravel
이 게시물에서는 Laravel 로그인 또는 인증에 나를 기억하는 기능을 추가하거나 구현하는 방법을 보여줍니다. 중요한 구현 중 하나는 때때로 사용자가 자신의 계정에 액세스할 때마다 로그인하는 것을 좋아하지 않고 신뢰할 수 있는 브라우저에 계정을 자동으로 로그인하기 때문에 나를 기억하는 로그인 옵션을 로그인에 추가하는 것입니다.
이전 게시물에서 how to log in and register with email and username에 게시한 이제 로그아웃 기능도 있습니다. 이제 기억하기 옵션을 제공하겠습니다.
쉽게 이해할 수 있도록 쉬운 단계를 알려 드리겠습니다.
1단계: 라라벨 앱 생성
시스템에 작곡가를 이미 설정했다고 가정합니다. 새로운 Laravel 앱을 설치하려면 다음 코딩을 실행하십시오. 그러나 Laravel 앱이 이미 설치되어 있는 경우 이 단계를 건너뛸 수 있습니다.
composer create-project --prefer-dist laravel/laravel login-with-remember-me
그런 다음 다음 명령을 사용하여 login-with-remember-me 폴더를 탐색합니다.
cd login-with-remember-me
2단계: 데이터베이스 자격 증명 설정
다음으로 데이터베이스를 생성하거나 PHPMyAdmin에서 명령을 사용하여 데이터베이스를 생성할 수 있습니다. 그런 다음 생성되면
.env
파일을 탐색하고 데이터베이스 자격 증명을 업데이트합니다.DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=your_db_name
DB_USERNAME=your_db_username
DB_PASSWORD=your_db_password
사용자를 위한 마이그레이션 및 모델 설정의 전체 프로세스에 대한 자세한 내용은 authentication에 대한 내 이전 게시물을 참조하십시오.
참고: 사용자의 테이블 필드에 remember_token이 있는지 확인해야 하는 재확인이 중요합니다. 그렇지 않은 경우 사용자 테이블에 remember_token을 추가하거나 Laravel이 이미 $table->rememberToken();이라는 마이그레이션의 기본값을 제공했기 때문에 이전 튜토리얼을 따라야 합니다.
먼저 로그인 블레이드 템플릿에 Remember Me 입력을 추가합니다.
<div class="form-group mb-3">
<label for="remember">Remember me</label>
<input type="checkbox" name="remember" value="1">
</div>
로그인 양식을 제출하고 나를 기억할 때 아래에서 볼 수 있듯이. 제출된 요청을 인쇄할 때 표시됩니다.
이제 이전 튜토리얼에서 이전 코드를 변경해 보겠습니다. App\Http\Controllers\LoginController.php에서 로그인 방법을 변경하고 remember me를 구현할 것입니다.
이것으로부터:
public function login(LoginRequest $request)
{
$credentials = $request->getCredentials();
if(!Auth::validate($credentials)):
return redirect()->to('login')
->withErrors(trans('auth.failed'));
endif;
$user = Auth::getProvider()->retrieveByCredentials($credentials);
Auth::login($user);
return $this->authenticated($request, $user);
}
이에:
public function login(LoginRequest $request)
{
$credentials = $request->getCredentials();
if(!Auth::validate($credentials)):
return redirect()->to('login')
->withErrors(trans('auth.failed'));
endif;
$user = Auth::getProvider()->retrieveByCredentials($credentials);
Auth::login($user, $request->get('remember'));
return $this->authenticated($request, $user);
}
위에서 볼 수 있듯이 Auth::login() 함수의 두 번째 매개변수에 $request->get('remember')를 추가했습니다.
이제 작동하면 시도해 봅시다.
이제 쿠키에서 브라우저를 검사할 때 인증된 사용자가 기억되었는지 확인하기 위해 Laravel auth의 트리거인 remember_web_*을 이미 볼 수 있습니다.
이 튜토리얼이 도움이 되었으면 합니다. 이 코드를 다운로드하려면 여기https://codeanddeploy.com/blog/laravel/how-to-add-remember-me-functionality-to-your-laravel-8-login를 방문하십시오.
행복한 코딩 :)
Reference
이 문제에 관하여(Laravel 8 로그인에 Remember Me 기능을 추가하는 방법은 무엇입니까?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codeanddeploy/how-to-add-remember-me-functionality-to-your-laravel-8-login-9hn텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)