保存非自动化用户的电子邮件和密码Laravel 5

时间:2016-06-06 03:46:33

标签: validation laravel email security laravel-5

我使用php artisan make:auth创建了登录 我读过我必须覆盖AuthController.php但是,我想覆盖Login()函数,我遇到了一些错误。

我想修改这个文件,但我读过我做不到。

Illuminate\Foundation\Auth\AuthenticatesUsers.php

所以,我想覆盖使用AuthenticatesUsers.php的AuthController.php,但我无法覆盖它。

简而言之,我想保存来自非自动化用户的电子邮件和密码,但我在哪里可以获得这些字段。我创建了这样的模型。

namespace App;

use Illuminate\Database\Eloquent\Model;

class AccessHistory extends Model
{
    //
     protected $fillable = [
        'usuario_id', 'password','date_access','correct',
    ];
}

如何在登录前获取该字段? 我想问其他问题。我不知道是否必须创建其他线程,但有相同的方式。 我希望密码在30天后过期,然后更改密码。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

当尝试登录时,auth层会触发事件。如果您想记录用作登录失败的一部分的用户名和密码,那么您可以执行以下操作。

EventServiceProvider boot方法中添加:

$dispatcher->listen('auth.attempt', function ($credentials, $remember, $login) {
    AccessHistory::create([
        'email' => $credentials['email'], 
        'password' => $credentials['password']
    ]);
});

请注意,在此示例中,我假设您在登录表单中使用电子邮件。还有使用EventServiceProvider处理事件的替代选项。

您可以阅读有关从身份验证层here触发的事件的更多信息。