文档
English
中文
自动化测试
功能
安装
依赖
通过 composer
安装:
1 composer require moecasts/laravel-user-login-log
如果你是用 Laravel
的版本 < 5.5,则需要手动将 provide
添加到 config/app.php providers
数组中
1 Moecasts\Laravel\UserLoginLog\UserLoginLogServiceProvider,
发布迁移文件:
1 php artisan vendor:publish --tag=laravel-user-login-log-migrations
如果你想修改默认配置,可以运行下列命令发布配置文件后修改:
1 php artisan vendor:publish --tag=laravel-user-login-log-config
数据表迁移:
配置
1 2 3 4 5 6 return [ 'expire' => 300 , ];
用法
首先, 添加 LoginLoggable
trait 到 authenticatable model.
1 2 3 4 5 6 use Moecasts \Laravel \UserLoginLog \Traits \LoginLoggable ;class User extends Authenticatable { use LoginLoggable ; }
然后, 在 app/Http/Kernel.php
中添加中间件,注意:要放在 auth
中间件后面。
1 2 3 4 5 6 7 8 9 10 11 12 class Kernel extends HttpKernel { protected $routeMiddleware = [ 'auth' => \App\Http\Middleware\Authenticate::class, 'login.log' => \Moecasts\Laravel\UserLoginLog\Middleware\UserLoginLogMiddleware::class, ]; }
最后,在路由中使用:
1 Route::get('hello' )->middleware(['auth' , 'login.log' ]);
方法
获取用户登录记录
1 2 $user = new User;$user ->loginLogs;
创建用户登录记录
1 2 $user = new User;$user ->createLoginLog();
当用户重新登录时,创建登录记录
该方法依赖于缓存功能,当新登录时,会创建一个具有时限的缓存,下次请求路由时,来判断是否属于新登录。
实现由 logLogin
方法的 $seconds
参数控制(可留空),默认时限为配置 loginlogs.expire
。
This function is depet on cache, when your newly login, it will set a cache with for $seconds
or default config ( loginlogs.expire
) seconds when $seconds
is not set.
1 2 3 $user = new User;$user ->logLogin();
判断是否为新登录
1 2 $user = new User;$user ->isNewLogin();
Let’s enjoy coding!