2016-10-01 67 views
0

我的网站需要一个用户帐户,通过发送给他们的电子邮件链接来激活,然后他们才能真正登录,但guard()attempt()方法似乎只要用户签名有一场比赛。我如何检查没有登录,所以我可以验证用户>验证他们的帐户是活动>开始用户会话?当前代码如下Laravel登录尝试先决条件

if ($this->guard()->attempt($credentials, $request->has('remember'))) { 
     // Return response if user match found 
     return $this->checkAccountActive($credentials); 
} 
+0

告诉我您的电子邮件链接 – Komal

回答

0

您是否使用AuthController?

如果你这样做,你可以调整getCredentials(显示)方法,以满足您的业务需求,例如,如果你需要确认的电子邮件和状态活跃,你可以这样做以下:

protected function getCredentials($request) 
{ 
    return array_merge($request->only(['email', 'password']), ['active' => 1]); 
} 
+0

我正在使用Laravel 5.3附带的AuthenticatesUsers triat。我使用用户名,密码和名为“active”的布尔值登录。上述方法仍然有效吗? –

+0

在app/Http/Controllers/Auth中查找AuthController.php,并将getCredentials()方法替换为上述方法。 –

+1

你的方法没有工作,但我使用“$ request-> merge(array('active'=>'1'));”代替 –