biscolab / laravel-authlog
Laravel 的用户认证日志包
Requires
- php: ^7.1
- laravel/framework: ^5.5|^6.0|^7.0
Requires (Dev)
- orchestra/testbench: 3.0|4.*|5.*
- phpunit/phpunit: 6.*|7.*|8.*
This package is auto-updated.
Last update: 2024-09-16 02:10:52 UTC
README
Laravel 5, 6 和 7 的用户认证日志。此包允许您记录用户的认证并在必要时强制注销用户!
此包仍然不稳定。请报告任何错误和文档缺失,以便及时修复。.
感谢您的帮助。
系统需求
设置 session.driver
值
要使用此包,
session.driver
的唯一允许值是file
、database
、redis
(目前)。
安装
您可以通过 composer 安装此包
$ composer require biscolab/laravel-authlog
Laravel 5.5(或更高版本)使用包自动发现,因此不需要您手动添加 Service Provider,但如果不使用自动发现,则必须在 config/app.php
中注册 AuthLogServiceProvider
'providers' => [ ... Biscolab\LaravelAuthLog\AuthLogServiceProvider::class, ];
您可以使用 facade 来缩短代码。将 AuthLog
添加到您的别名中
'aliases' => [ ... 'AuthLog' => Biscolab\LaravelAuthLog\Facades\AuthLog::class, ];
发布包
使用以下 artisan 命令发布配置和迁移文件
$ php artisan vendor:publish --provider="Biscolab\LaravelAuthLog\AuthLogServiceProvider"
配置
编辑 config/authlog.php
记得运行
php artisan config:cache
命令
(*) 如果您正在使用自定义
users
表,请在运行vendor:publish
artisan 命令后、运行migration
artisan 命令前编辑datatbase/migratons/2019_09_19_000000_create_authlog_table.php
将 AuthLoggable
特性添加到 User
模型中
在 App\User
中使用 Biscolab\LaravelAuthLog\Traits\AuthLoggable
<?php namespace App; // ..... use Biscolab\LaravelAuthLog\Traits\AuthLoggable; class User extends Authenticatable { use AuthLoggable; // other traits // ......
数据库
您的用户表 ID 必须是
unsignedInteger
或unsignedBigInteger
类型之一。如果您有自定义用户表,请在运行vendor:publish
artisan 命令后编辑datatbase/migratons/2019_09_19_000000_create_authlog_table.php
运行迁移
php artisan migrate
将创建 AuthLog 数据库表。
中间件
注册 `AuthLogMiddleware`
在 app/Http/Kernel.php
中注册 AuthLogMiddleware
。此中间件将处理用户认证会话 ID。
protected $routeMiddleware = [ ... 'auth.log' => \Biscolab\LaravelAuthLog\Middleware\AuthLogMiddleware::class ];
将 AuthLogMiddleware
添加到路由中
Route::group(['middleware' => ['auth.log']], function() { // Your routes });
处理已登录用户
Artisan 命令
要处理认证会话,请输入以下 artisan 命令
php artisan authlog:logged
将显示已登录用户的列表
+--------+------------------------------------------+-----------------------+---------------------+ | Log ID | Session ID | User | Logged @ | +--------+------------------------------------------+-----------------------+---------------------+ | 604 | teq4LmVM4u4sdhFTKnGsKeWs3IBOLAIOXB1c4ioy | Roberto Belotti (#22) | 2019-09-25 22:56:33 | +--------+------------------------------------------+-----------------------+---------------------+ Type Log ID to kill session. Type "exit" to quit:
现在您可以输入 exit
退出,或输入特定的 Log ID 强制用户注销,在这种情况下为 604
。
> 604
Session "teq4LmVM4u4sdhFTKnGsKeWs3IBOLAIOXB1c4ioy" deleted. "Roberto Belotti" user logged out
No logged user, please type "exit" to quit