Skip to content

Latest commit

 

History

History
147 lines (103 loc) · 4.17 KB

readme_ZH.md

File metadata and controls

147 lines (103 loc) · 4.17 KB

Laravel User Login log

文档

English 中文

Build Status Scrutinizer Code Quality Code Coverage Code Intelligence Status Code Intelligence Status

Build Status Scrutinizer Code Quality Code Coverage Build Status Code Intelligence Status Code Intelligence Status

功能

  • 记录用户登录信息
  • 分析登录记录

安装

依赖

  • PHP 7.0+
  • Laravel 5.5+

通过 composer 安装:

composer require moecasts/laravel-user-login-log

如果你是用 Laravel 的版本 < 5.5,则需要手动将 provide 添加到 config/app.php providers 数组中

Moecasts\Laravel\UserLoginLog\UserLoginLogServiceProvider,

发布迁移文件:

php artisan vendor:publish --tag=laravel-user-login-log-migrations

如果你想修改默认配置,可以运行下列命令发布配置文件后修改:

php artisan vendor:publish --tag=laravel-user-login-log-config

数据表迁移:

php artisan migrate

配置

return [
    /**
     * 缓存时限 (seconds)
     */
    'expire' => 300,
];

用法

首先, 添加 LoginLoggable trait 到 authenticatable model.

use Moecasts\Laravel\UserLoginLog\Traits\LoginLoggable;

class User extends Authenticatable
{
    use LoginLoggable;
}

然后, 在 app/Http/Kernel.php 中添加中间件,注意:要放在 auth 中间件后面。

// app/Http/Kernel.php

class Kernel extends HttpKernel
{
    protected $routeMiddleware = [
        'auth' => \App\Http\Middleware\Authenticate::class,
        // ...
        'login.log' => \Moecasts\Laravel\UserLoginLog\Middleware\UserLoginLogMiddleware::class,
    ];

    // ...
}

最后,在路由中使用:

Route::get('hello')->middleware(['auth', 'login.log']);

方法

获取用户登录记录

$user = new User;
$user->loginLogs;

创建用户登录记录

$user = new User;
$user->createLoginLog();

当用户重新登录时,创建登录记录

该方法依赖于缓存功能,当新登录时,会创建一个具有时限的缓存,下次请求路由时,来判断是否属于新登录。

实现由 logLogin 方法的 $seconds 参数控制(可留空),默认时限为配置 loginlog.expire

This function is depet on cache, when your newly login, it will set a cache with for $seconds or default config ( loginlog.expire ) seconds when $seconds is not set.

$user = new User;
// $user->logLogin($seconds = null)
$user->logLogin();

判断是否为新登录

$user = new User;
$user->isNewLogin();

Let's enjoy coding!