【发布时间】:2021-06-04 02:22:35
【问题描述】:
我是 Laravel 的新手。目前,当您访问一个页面并且您的帐户未经过验证时,什么都不会发生。我想这样做,如果您已登录并且您的电子邮件未验证,它会将您重定向到验证电子邮件页面,但前提是您已登录。我已经尝试但失败了。
我用这个做了一个中间件,但它似乎不起作用。
if (Auth::user() && ! Auth::user()->email_verified_at) {
return redirect('auth/verify');;
}
这是我的 web.php
// Home Page
Route::get('/', function () {
return view('home');
})->middleware('verifiedEmail');
// Private Page
Route::get('/private', [HomeController::class, 'private']);
// Home Page
Route::get('/home', 'HomeController@index')->name('home');
// Shop Page
Route::get('/shop', 'ShopController@index')->name('shop');
/*
|===========================
| Other Routes
|===========================
*/
// Mailing
Route::get('/email', function() {
Mail::to($request->user())->send(new MailableClass);
return new WelcomeMail;
});
Route::get('/sendtestnews', [TestNewsController::class,
'sendTestNotification']);
// Verification
Auth::routes(['verify' => true]);
【问题讨论】:
-
显示路由以及控制器方法
-
我不确定是否需要任何其他文件,所以我只做了一个中间件
-
否则我们不能假设错误在哪里
-
我将我的 web.php 添加到帖子中
-
我在那里看不到 auth/verify 路由。您是否使用默认身份验证