如何在Laravel中使用多身份验证电子邮件?
我建立了一个多身份验证的Laravel系统,有两个守卫:“用户”和“客户”。 现在我想验证新注册客户(但不是用户)的邮件 我补充说如何在Laravel中使用多身份验证电子邮件?,laravel,email-verification,Laravel,Email Verification,我建立了一个多身份验证的Laravel系统,有两个守卫:“用户”和“客户”。 现在我想验证新注册客户(但不是用户)的邮件 我补充说 use Illuminate\Contracts\Auth\MustVerifyEmail; Route::get('email/resend', 'CustomerAuth\VerificationController@resend')->name('verification.resend'); Route::get('email/verify', 'Cu
use Illuminate\Contracts\Auth\MustVerifyEmail;
Route::get('email/resend', 'CustomerAuth\VerificationController@resend')->name('verification.resend');
Route::get('email/verify', 'CustomerAuth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'CustomerAuth\VerificationController@verify')->name('verification.verify');
及
自定义模型
我补充说
use Illuminate\Contracts\Auth\MustVerifyEmail;
Route::get('email/resend', 'CustomerAuth\VerificationController@resend')->name('verification.resend');
Route::get('email/verify', 'CustomerAuth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'CustomerAuth\VerificationController@verify')->name('verification.verify');
到路线
我已经在views/auth中构建了“verify.blade”
我已创建CustomerAuth\VerificationController
现在,Laravel会向新客户发送验证电子邮件,但不会验证,也不会显示任何消息。如果客户单击验证链接,Laravel会将客户发回主页
这里是app/Http/Controllers/CustomerAuth/VerificationController.php
namespace App\Http\Controllers\CustomerAuth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\VerifiesEmails;
class VerificationController extends Controller
{
use VerifiesEmails;
protected $redirectTo = '/home';
public function __construct()
{
$this->middleware('auth');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}
我也试过了
$this->中间件('auth:customer')代码>
auth.php
return [
'defaults' => [
'guard' => 'user',
'passwords' => 'users',
],
'guards' => [
'user' => [
'driver' => 'session',
'provider' => 'users',
],
'customer' => [
'driver' => 'session',
'provider' => 'customers',
],
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
'hash' => false,
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'customers' => [
'driver' => 'eloquent',
'model' => App\Customer::class,
],
],
'passwords' => [
'customers' => [
'provider' => 'customers',
'table' => 'customer_password_resets',
'expire' => 60,
],
'users' => [
'provider' => 'users',
'table' => 'user_password_resets',
'expire' => 60,
],
],
];
我明白了,我认为它可以与$this->中间件('auth:customer')一起工作代码>,你是怎么设置警卫的?谢谢。这是auth.phpI现在提出的问题,因此您可以很好地阅读它。