路由[user.verification.notice]未定义/覆盖确保EmailIsVerified?

时间:2019-02-03 04:44:34

标签: laravel laravel-5.7

我一直在尝试实现多个身份验证登录,并且两个组中的注册均正常进行,但是用户注册后验证路径不起作用。有什么办法可以做到这一点?

这是我的路线

Route::group([
                'prefix'    => 'users',
                'namespace' => 'Users',
                'as'        => 'user.'
            ],function(){
                Auth::routes(['verify' => true]);
                Route::get('/','Main@index');
                Route::get('/dashboard','Main@index')->name('dashboard');
            });
Route::group([
                'prefix'    => 'admins',
                'namespace' => 'Admins',
                'as'        => 'admin.'
            ],function(){
                Auth::routes();
                Route::get('/','Main@index');
                Route::get('/dashboard','Main@index')->name('dashboard');
            });

enter image description here

enter image description here

2 个答案:

答案 0 :(得分:0)

好的,我搜索了很多东西,但是唯一的方法是手动处理,因此我更新了路线,这里的代码是有效的

Route::group([
                'prefix'    => 'admins',
                'namespace' => 'Admins',
                'as'        => 'admin.'
            ],function(){
                Auth::routes();
                Route::get('/','Main@index');
                Route::get('/dashboard','Main@index')->name('dashboard');
            });

Route::get('email/verify', 'Users\Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Users\Auth\VerificationController@verify')->name('verification.verify');
Route::get('email/resend', 'Users\Auth\VerificationController@resend')->name('verification.resend');
Route::group([
                'prefix'    => 'users',
                'namespace' => 'Users',
                'as'        => 'user.'
            ],function(){
                Auth::routes();
                Route::get('/','Main@index');
                Route::get('/dashboard','Main@index')->name('dashboard');
            });

我还想知道,如果 Auth :: routes(['verify'=> true]); 本身全部处理,那么我们要做的就是<我希望他们在 VerificationController 中使用strong>显示方法,希望他们能在即将到来的laravel版本中更新此问题,但也有可能我不知道有其他方法可以做到这一点,无论是帮助还是建议。

答案 1 :(得分:0)

所以这是在这里交替处理的

Laracasts::Setting Email Verification Middleware route

最终可以通过中间件完成传递redirectToRoute的操作。

$router->middleware(['auth:apiuser', 'verified:api.verification.notice'])

一个真实的例子

Route::get('admin', 'AdminController@showProfile')->middleware('verified:admin.verification.notice');