Laravel 비밀번호 재설정 기능 구현 방법
이 기능을 빨리 구현하고 싶으신가요? 새로 설치된 Laravel 애플리케이션에서 php artisan make:auth를 실행한 다음(이미 이 명령을 실행했다면 무시해도 됩니다), http://your-app.dev/register 또는 기타 애플리케이션에 할당된 페이지를 방문하세요. 브라우저 URL을 사용하면 이 명령은 비밀번호 재설정을 포함하여 사용자 로그인 및 등록에 필요한 모든 것을 생성합니다!
대부분의 웹 애플리케이션은 사용자에게 비밀번호를 재설정하는 기능을 제공하며, Laravel도 예외는 아닙니다. Laravel은 각 애플리케이션에서 비밀번호를 직접 재설정하지 않고도 비밀번호 재설정 링크를 보내고 비밀번호 재설정 로직을 구현할 수 있는 편리한 방법을 제공합니다.
참고: Laravel에서 제공하는 비밀번호 재설정 기능을 사용하기 전에 사용자 모델은 IlluminateNotificationsNotifying 특성을 사용해야 합니다.
데이터베이스 관련
시작하기 전에 AppUser 모델이 IlluminateContractsAuthCanResetPassword 계약을 구현하는지 확인하세요. 물론 Laravel의 자체 AppUser 모델은 이미 이 인터페이스를 구현하고 있으며 이 인터페이스를 구현하는 데 필요한 메소드를 포함하기 위해 IlluminateAuthPasswordsCanResetPassword 특성을 사용합니다.
재설정 토큰 테이블 마이그레이션 생성
다음으로 비밀번호 재설정 토큰을 저장하는 데 사용되는 테이블을 생성해야 합니다. Laravel에는 이미 이 테이블에 대한 마이그레이션이 포함되어 있으며 데이터베이스/마이그레이션 디렉터리에 저장되어 있습니다. 따라서 여러분이 해야 할 일은 마이그레이션을 실행하는 것뿐입니다:
php artisan migration
이 테이블은 비밀번호 재설정입니다:
routing
Laravel은 AuthForgotPasswordController 및 AuthResetPasswordController 컨트롤러와 함께 제공됩니다(이 두 컨트롤러 클래스는 다음을 통과합니다. php artisan make:auth 명령)은 각각 비밀번호 재설정 링크 이메일을 보내고 사용자 비밀번호를 재설정하는 데 사용됩니다. 비밀번호를 재설정하는 데 필요한 경로는 make:auth 명령을 통해 자동으로 생성되었습니다:
php artisan make:auth
해당 경로는 IlluminateRoutingRouter의 인증 메소드에 정의됩니다:
View
는 동일합니다. 비밀번호를 설정하는 데 필요한 보기 파일도 make:auth 명령을 통해 생성됩니다. 이러한 보기 파일은 필요에 따라
resources/views/auth/passwords 디렉터리에 있습니다.
Reset Password
사용자 비밀번호 재설정 경로와 보기를 정의한 후 브라우저에서 /password/reset을 통해 이 입력 경로에 액세스하기만 하면 됩니다. 프레임워크와 함께 제공되는 ForgotPasswordController에는 이미 비밀번호 재설정 링크 이메일을 보내는 로직이 포함되어 있으며 ResetPasswordController에는 사용자 비밀번호를 재설정하는 로직이 포함되어 있습니다.
등록 이메일을 입력하고 비밀번호 재설정 링크 보내기를 클릭하면 비밀번호 재설정 링크가 나타납니다. 다음 이메일로 이동하세요:
이메일을 열면 다음과 같은 비밀번호 재설정 이메일을 받게 됩니다:
비밀번호 재설정 버튼을 클릭하여 비밀번호 재설정 페이지로 들어갑니다:
양식을 작성하고 제출하면 비밀번호를 재설정할 수 있습니다.
비밀번호가 재설정되면 사용자는 자동으로 애플리케이션에 로그인되고 /home으로 리디렉션됩니다. ResetPasswordController의 RedirectTo 속성을 정의하여 성공적인 비밀번호 재설정 후 리디렉션 링크를 사용자 정의할 수 있습니다.
protected $redirectTo = '/dashboard';
참고: 기본적으로 비밀번호 재설정 토큰은 1시간 이내에 유효합니다. config/auth.php 파일의 만료 옵션을 수정하여 시간을 변경할 수 있습니다.
Customized
Custom Authentication Guard
auth.php 구성 파일에서 여러 "가드"를 구성하여 다중 사용자 테이블을 기반으로 독립적인 인증을 구현할 수 있습니다. 내장된 ResetPasswordController 컨트롤러를 재정의할 수 있습니다. 선택한 가드를 사용하려면 다음과 같이 가드 인스턴스를 반환합니다.
use Illuminate\Support\Facades\Auth; protected function guard() { return Auth::guard('guard-name'); }
사용자 정의 비밀번호 브로커
구성 파일 auth.php에서 사용자 테이블에 대해 여러 비밀번호를 재설정하기 위해 여러 비밀번호를 구성할 수 있습니다. , 내장된 ForgotPasswordController 및 ResetPasswordController 컨트롤러의 브로커 메소드를 재정의하여 원하는 브로커를 사용할 수 있습니다.
use IlluminateSupportFacadesPassword;
/** * 获取密码重置期间所使用的broker. * * @return PasswordBroker * @translator laravelacademy.org */ protected function broker() { return Password::broker('name'); }
custom 비밀번호 재설정 이메일
you 비밀번호를 보내는 알림 클래스를 쉽게 편집할 수 있습니다. 사용자 정의 비밀번호 재설정 이메일을 구현하려면 사용자 모델의 sendPasswordResetNotification 메소드를 재정의해야 합니다. 이 메소드에서는 알림 클래스를 사용할 수 있습니다. 이 방법으로 받은 매개변수는 비밀번호 재설정입니다. $token:
/** * 发送密码重置通知. * * @param string $token * @return void */ public function sendPasswordResetNotification($token) { $this->notify(new ResetPasswordNotification($token)); }
관련 권장 사항:
mysql 데이터베이스 루트 사용자 비밀번호를 잊으셨나요? 재설정 방법_MySQL
위 내용은 Laravel 비밀번호 재설정 기능 구현 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Laravel 이메일 전송이 실패 할 때 반환 코드를 얻는 방법. Laravel을 사용하여 응용 프로그램을 개발할 때 종종 확인 코드를 보내야하는 상황이 발생합니다. 그리고 실제로 ...

laravel 일정 작업 실행 비 응답 문제 해결 Laravel의 일정 작업 일정을 사용할 때 많은 개발자 가이 문제에 직면합니다 : 스케줄 : 실행 ...

Laravel의 이메일을 처리하지 않는 방법은 LaRavel을 사용하는 것입니다.

DCAT를 사용할 때 DCATADMIN (LARAVEL-ADMIN)에서 데이터를 추가하려면 사용자 정의의 테이블 기능을 구현하는 방법 ...

Laravel 프레임 워크 및 Laravel 프레임 워크 및 Redis를 사용할 때 Redis 연결을 공유하는 데 영향을 줄 수 있습니다. 개발자는 문제가 발생할 수 있습니다. 구성을 통해 ...

Laravel 다중 테넌트 확장 패키지 패키지 패키지 패키지 패키지 Stancl/Tenancy, ...

Laraveleloquent 모델 검색 : 데이터베이스 데이터를 쉽게 얻을 수 있습니다. 이 기사는 데이터베이스에서 데이터를 효율적으로 얻는 데 도움이되는 다양한 웅변 모델 검색 기술을 자세히 소개합니다. 1. 모든 기록을 얻으십시오. 모든 () 메소드를 사용하여 데이터베이스 테이블에서 모든 레코드를 가져옵니다. 이것은 컬렉션을 반환합니다. Foreach 루프 또는 기타 수집 방법을 사용하여 데이터에 액세스 할 수 있습니다 : Foreach ($ postas $ post) {echo $ post->

PowerToys는 Windows 사용자를위한 생산성 및 시스템 제어를 향상시키기 위해 Microsoft가 시작한 무료 도구 모음입니다. Fancyzones Management Win
