代码之家  ›  专栏  ›  技术社区  ›  DeCoder

用于多重认证的laravel电子邮件验证

  •  0
  • DeCoder  · 技术社区  · 6 年前
    Auth::routes(['verify'=>true]);
    

    如何在以下路由中添加上述验证标记?

    Route::prefix('admin')->group(function(){
    Route::get('/dashboard','AdminController@index')->name('admin.dashboard')->middleware('guest:a');
    Route::get('/logout','Admin\LoginController@logout');
    Route::get('/','Admin\LoginController@showLoginForm')->name('admin.login');
    Route::post('/','Admin\LoginController@login');
    
    Route::post('/password/email','Admin\ForgotPasswordController@sendResetLinkEmail')->name('admin.password.email');
    Route::get('/password/reset','Admin\ForgotPasswordController@showLinkRequestForm')->name('admin.password.update');
    Route::post('password/reset','Admin\ResetPasswordController@reset');
    Route::get('/password/reset/{token}','Admin\ResetPasswordController@showResetForm')->name('admin.password.reset');
    Route::get('/register','Admin\RegisterController@showRegistrationForm')->name('admin.register');
    Route::post('/register','Admin\RegisterController@register')->name('admin.register');});
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   utdev vijayP    6 年前

    你需要提供更多的信息和更详细的解释,但我认为你是通过电子邮件验证你的用户。所以

    Auth::routes(['verify'=>true]);

    仅表示用户当前是否已获得身份验证。

    如果要使您的路由仅可供经过身份验证的用户访问,则有两种方法可供选择:

    第一个选项是在控制器的构造函数中添加auth中间件,如下所示:

    class YourController extends Controller
    {
        public function __construct()
        {
            $this->middleware('auth');
        }
        ...
    

    您的第二个选择是将中间件添加到路由文件中,并包括只能在该组中访问的路由,如下所示:

    Route::group(['middleware' => 'auth'], function () {
       Route::get('/test','Admin\TestController@test');
       ...
    

    希望这对你有帮助,我也不是百分之百确定你的意思,所以你应该进一步解释你的问题。

    推荐文章