如何在Laravel Auth中添加条件

时间:2019-06-20 04:15:26

标签: laravel

我正在使用Laravel 5.8。

我要在身份验证中添加email_verified_at != null OR phone_number_verified_at != null

我该怎么做?

2 个答案:

答案 0 :(得分:1)

在web.php路由Auth::routes(['verify' => true]);中使用它 阅读此链接https://laravel.com/docs/5.8/verification#verification-routing

如果您使用的是此邮件,则其支票电子邮件已通过验证,\vendor\laravel\framework\src\Illuminate\Auth

如果您想进一步了解laravel项目public function hasVerifiedEmail() { return ! is_null($this->email_verified_at); } 中的此路径,并查看特征MustVerifyEmail

    public function hasVerifiedEmail()
{
    if (!is_null($this->phone_verified_at) && !is_null($this->email_verified_at)) {
        return 1;
    }
}

您正在尝试同时检查

一种方法

VerificationController

2.step转到 /** * Show the email verification notice. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function show(Request $request) { $user = Auth::user(); if (is_null($user->email_verified_at)) { return view('auth.verify'); }elseif (is_null($user->phone_verified_at)) { return redirect("phone_verify"); }else{ return redirect($this->redirectPath()); } }

web.php

转到Route::get('phone_verify',function(){ dd("not verify"); }); 创建电话验证路径

#standardSQL
SELECT id, col_1,
  ARRAY(SELECT AS STRUCT col_2, col_3, col_4 
    FROM UNNEST(col_2) col_2 WITH OFFSET 
    JOIN UNNEST(col_3) col_3 WITH OFFSET USING(OFFSET)
    JOIN UNNEST(col_4) col_4 WITH OFFSET USING(OFFSET)
  ) comb_col,
  col_5
FROM `project.dataset.table`   

答案 1 :(得分:0)

在LoginController中添加attemptLogin函数,此函数由laravel调用以进行身份​​验证

protected function attemptLogin(Request $request)
{
    $valid = $this->guard()->attempt(
        $this->credentials($request), $request->filled('remember')
    );
    if($valid){
        $user = $this->guard()->user();
        if($user->email_verified_at == null && $user->phone_number_verified_at  == null ){
            $this->guard()->logout();
            $request->session()->invalidate();
            return false;
        }
    }
    return true;
}