Laravel 암호 리 셋 기능 구현
이 기능 을 빨리 실현 하고 싶다 고요?새로 설 치 된 Laravel 응용 프로그램 에서 만 실행
php artisan make:auth
(이 명령 을 실행 했다 면 무시 할 수 있 습 니 다)하고 브 라 우 저 에서http://your-app.dev/register또는 다른 응용 프로그램 에 분 배 된 URL 에 접근 하면 이 명령 은 사용자 로그 인 등록 에 필요 한 모든 것 을 생 성 합 니 다.비밀 번 호 를 포함 하여 초기 화 합 니 다!대부분의 웹 애플 리 케 이 션 은 사용자 에 게 비밀 번 호 를 리 셋 하 는 기능 을 제공 합 니 다.Laravel 도 예외 가 아 닙 니 다.Laravel 은 비밀번호 리 셋 링크 를 보 내 고 비밀번호 리 셋 논 리 를 실현 하 는 편리 한 방법 을 제공 합 니 다.모든 애플 리 케 이 션 에서 반복 적 으로 실현 할 필요 가 없습니다.
주:Laravel 에서 제공 하 는 비밀번호 리 셋 기능 을 사용 하기 전에 User 모델 은 Illuminate\Notifications\\Notifiable trait 를 사용 해 야 합 니 다.
데이터베이스 관련
시작 하기 전에 앱\User 모델 을 먼저 검증 하여
Illuminate\Contracts\Auth\CanResetPassword
계약 을 실현 했다.물론 Laravel 이 자체 적 으로 가지 고 있 는 App\User 모델 은 이 인 터 페 이 스 를 실현 하고 Illuminate\Auth\Passwords\\CanReset Password trait 를 사용 하여 이 인 터 페 이 스 를 실현 하 는 데 필요 한 방법 을 포함 합 니 다.리 셋 토 큰 시트 생 성 이전
다음은 암 호 를 저장 하고 토 큰 을 초기 화 하 는 시 계 를 만들어 야 합 니 다.Laravel 은 이 표 의 이전 을 가지 고 데이터베이스/migrations 디 렉 터 리 에 저장 합 니 다.그래서 당신 이 해 야 할 일 은 이동 만 실행 하 는 것 입 니 다.
php artisan migrate
이 시계 가 바로 passwordresets :경로
Laravel 은 자체 적 으로
Auth\ForgotPasswordController
와Auth\ResetPasswordController
컨트롤 러 를 가지 고 있 습 니 다.암 호 를 리 셋 하 는 데 필요 한 경로 가 Make:auth 명령 을 통 해 자동 으로 생 성 되 었 습 니 다.php artisan make:auth
대응 경로 정의 Illuminate\Routing\Router 의 auth 방법:보기
경로 와 마찬가지 로 암호 리 셋 에 필요 한 보기 파일 도 Make:auth 명령 을 통 해 생 성 되 었 습 니 다.이 보기 파일 들 은
resources/views/auth/passwords
디 렉 터 리 에서 필요 에 따라 생 성 된 파일 을 수정 할 수 있 습 니 다.비밀번호 초기 화
사용자 암호 경로 와 보 기 를 리 셋 하 는 것 을 정의 한 후 브 라 우 저 에서/password/reset 을 통 해 이 입구 경 로 를 방문 해 야 합 니 다.프레임 워 크 자체
ForgotPasswordController
는 링크 메 일 을 보 내 는 암 호 를 리 셋 하 는 논 리 를 포함 하고 있 습 니 다.ResetPasswordController
은 사용자 암 호 를 리 셋 하 는 논 리 를 포함 하고 있 습 니 다.등록 메 일 을 입력 하고 비밀번호 리 셋 링크 를 보 내 려 면 비밀 번 호 를 보 내 이 메 일 로 리 셋 링크 를 보 냅 니 다.
메 일 을 열 면 비밀번호 리 셋 메 일 을 받 을 수 있 습 니 다.
비밀번호 리 셋 단 추 를 누 르 면 비밀번호 리 셋 페이지 에 들 어 갈 수 있 습 니 다.
양식 을 작성 하여 제출 한 후 비밀 번 호 를 리 셋 할 수 있 습 니 다.
비밀번호 가 리 셋 되면 사용 자 는 자동 으로 응용 프로그램 에 로그 인하 여/home 으로 리 셋 됩 니 다.ResetPasswordController 의 redirecto 속성 을 정의 하여 암호 리 셋 에 성공 한 후 점프 링크 를 사용자 정의 할 수 있 습 니 다.
protected $redirectTo = '/dashboard';
주:기본 적 인 상황 에서 암 호 는 토 큰 을 한 시간 동안 리 셋 하 는 것 이 유효 합 니 다.config/auth.php 파일 의 옵션 expire 를 수정 하여 유효 시간 을 변경 할 수 있 습 니 다.사용자 정의
사용자 정의 인증 Guard
설정 파일 auth.php 에 서 는 여러 개의"guards"를 설정 하여 다 중 사용자 테이블 기반 의 독립 인증 을 실현 할 수 있 습 니 다.내 장 된 ResetPasswordController 컨트롤 러 의 guard 방법 을 다시 써 서 선택 한 guard 를 사용 할 수 있 습 니 다.이 방법 은 guard 인 스 턴 스 를 되 돌려 줍 니 다.
use Illuminate\Support\Facades\Auth;
protected function guard()
{
return Auth::guard('guard-name');
}
사용자 정의 암호 브로커설정 파일 auth.php 에서 여러 사용자 테이블 의 암호 브로커 를 리 셋 할 수 있 도록 여러 개의 암 호 를 설정 할 수 있 습 니 다.마찬가지 로,선택 한 브로커 를 다시 쓸 수 있 습 니 다.
use Illuminate\Support\Facades\Password;
/**
* broker.
*
* @return PasswordBroker
* @translator laravelacademy.org
*/
protected function broker()
{
return Password::broker('name');
}
사용자 정의 암호 리 셋 메 일암호 리 셋 링크 를 보 내 는 알림 클래스 를 편리 하 게 편집 하여 사용자 정의 암호 리 셋 메 일 을 만 들 수 있 습 니 다.이 기능 을 수행 하려 면 User 모델 의
sendPasswordResetNotification
방법 을 다시 써 야 합 니 다.이 방법 에서 원 하 는 알림 클래스 를 사용 하여 통 지 를 보 낼 수 있 습 니 다.이 방법 으로 받 은 첫 번 째 매개 변 수 는 암호 리 셋$token 입 니 다.
/**
* .
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new ResetPasswordNotification($token));
}
총결산위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 Laravel 비밀번호 리 셋 기능 입 니 다.여러분 께 도움 이 되 셨 으 면 합 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.