laravel 记录最后登录时间、最后登录IP、登录次数

admin 4个月前 107 阅读

此记录是登录成功后触发。

1.users 表新增字段

last_login_at 时间格式
last_login_ip varchar 格式
logins int 格式

2.打开控制器

/app/Http/Controllers/Auth/LoginController.php
加入

use Carbon\Carbon;

如下位置增加public function authenticated

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

// 记录最后登录时间、最后登录 IP、登录次数
protected function authenticated(Request $request, $user)
{
    $user->update([
        'last_login_at' => Carbon::now()->toDateTimeString(),
        'last_login_ip' => $request->getClientIp(),
        'logins' => $user->logins+1,
    ]);
}

3.User 模型

加入白名单,结果如下

protected $fillable = [
    'name',
    'email',
    'password',
    'last_login_at',
    'last_login_ip',
    'logins',
];

登录时即可记录最后登录时间、最后登录 IP、登录次数

回复 0
登录之后才能参与