이메일 인증
ㅋㅋ
- 데이터베이스 메모
- 이메일 검증 필드
- 경로 보호 이메일 인증 후
- 이벤트인증 후 이메일
- event
- Introduction많은 웹 애플리케이션에서는 사용하기 전에 사용자에게 이메일 주소 확인이 필요합니다. 모든 애플리케이션에서 이를 반복적으로 구현하도록 강요하는 대신 Laravel은 이메일 인증 요청을 보내고 검증하는 편리한 방법을 제공합니다.
<?php namespace App; use Illuminate\Notifications\Notifiable; use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable implements MustVerifyEmail{ use Notifiable; // ... }
- Database Notes
이메일 확인 필드
다음으로 php artisan migrate
- routingLaravel의
AuthVerificationController
클래스에는 확인 링크 전송 및 확인 이메일 필수 로직이 포함되어 있습니다. .verify
옵션을Auth::routes
메소드에 전달하면 이 컨트롤러에 필요한 경로를 등록할 수 있습니다:
사용자
는 확인된 이메일 주소 시간을 저장하기 위해 email_verified_at
필드를 포함해야 합니다. 기본적으로 Laravel 프레임워크의 users
테이블의 데이터 마이그레이션에는 이미 이 필드가 포함되어 있습니다. 따라서 데이터베이스 마이그레이션을 수행하기만 하면 됩니다. Auth::routes(['verify' => true]);
경로 미들웨어를 사용하면 인증된 사용자만 지정된 경로에 액세스할 수 있습니다. Laravel은 IlluminateAuthMiddlewareEnsureEmailIsVerified
에 정의된 verified
미들웨어와 함께 제공됩니다. 이 미들웨어는 이미 애플리케이션의 HTTP 코어에 등록되어 있으므로 미들웨어를 경로 정의에 연결하기만 하면 됩니다:
Route::get('profile', function () { // Only verified users may enter... })->middleware('verified');Views
AppUser
模型是否实现了 IlluminateContractsAuthMustVerifyEmail
契约:
protected $redirectTo = '/dashboard';
数据库注意事项
Email 验证字段
接下来,你的 user
需要包含一个 email_verified_at
字段用来存储 Email 地址通过验证的时间。默认情况下,Laravel 框架中 users
表的数据迁移已经包含了这个字段。所以,您需要做的就只是执行数据库迁移:
/** * 应用程序的事件监听器 * * @var array */ protected $listen = [ 'Illuminate\Auth\Events\Verified' => [ 'App\Listeners\LogVerifiedUser', ], ];
路由
Laravel 的 AuthVerificationController
类包含了发送验证链接和验证 Email 的必要逻辑。通过将 verify
选项传给 Auth::routes
方法,就能为这个控制器注册所需要的路由:
保护路由
路由中间件 可用于仅允许经过验证的用户访问指定路由。Laravel 附带了 verified
中间件,它定义在 IlluminateAuthMiddlewareEnsureEmailIsVerified
。由于此中间件已在应用程序的 HTTP 内核中注册,因此您需要做的就是将中间件附加到路由定义:
视图
Laravel 会在你执行 make:auth
命令时为你生成邮件验证所必须的视图文件,视图文件的位置在 resources/views/auth/verify.blade.php
,你可以根据自己的应用自由地调整这些视图的样式。
邮箱认证之后
在邮箱认证之后,用户会自动被重定向至 /home
。你可通过在 VerificationController
中定义一个 redirectTo
方法或者属性来调整认证之后的跳转位置。
事件
Laravel 可以在验证过程中触发 事件 , 你应该在 EventServiceProvider
Laravel은 실행 시 make:auth
명령을 실행하면 이메일 확인에 필요한 보기 파일이 생성됩니다. 보기 파일의 위치는 resources/views/auth/verify.blade.php
. 귀하의 애플리케이션에 맞게 이러한 뷰의 스타일을 자유롭게 지정할 수 있습니다.
/home
으로 리디렉션됩니다. VerificationController
에서 redirectTo
메서드나 속성을 정의하여 인증 후 점프 위치를 조정할 수 있습니다. 🎜rrreee🎜🎜🎜🎜Events🎜🎜Laravel은 확인 프로세스 중에 이벤트를 트리거할 수 있습니다. EventServiceProvider
에 리스너를 등록해야 합니다. 🎜rrreee🎜이 문서는 다음에서 처음 게시되었습니다. 🎜 LearnKu.com🎜 웹사이트. 🎜