omarabdelrady / laravel-auth-log
Laravel Auth Log为Laravel提供认证日志和通知。
Requires
- php: ^7.3|^8.0
- jenssegers/agent: ^2.6
- laravel/framework: ~5.8.0|^6.0|^7.0|^8.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ~3.8.0|^4.0|^5.0|^6.0
- phpunit/phpunit: ^8.5|^9.5
Suggests
- guzzlehttp/guzzle: Required to use the Slack transport (~6.0)
- nexmo/client: Required to use the Nexmo transport (~1.0).
This package is auto-updated.
Last update: 2024-09-25 20:17:30 UTC
README
Laravel Auth Log是一个包,可以自动记录用户的所有登录。它还可以在从未知设备成功登录时发送通知。
此包是https://github.com/yadahan/laravel-authentication-log的修改和扩展版本。
安装
Laravel Auth Log需要Laravel 5.8或更高版本,以及PHP 7.2以上。
您可以使用Composer将Laravel Auth Log安装到您的Laravel项目中
composer require samuelnitsche/laravel-auth-log
配置
安装Laravel Auth Log后,使用vendor:publish
Artisan命令发布其配置、迁移和视图
php artisan vendor:publish --provider="SamuelNitsche\AuthLog\AuthLogServiceProvider"
接下来,您需要迁移数据库。Laravel Auth Log迁移将创建应用程序存储认证日志所需的表
php artisan migrate
最后,将AuthLogable
和Notifiable
特性添加到您的认证模型中(默认为App\User
模型)。这些特性提供各种方法,允许您获取常见的认证日志数据,例如最后登录时间、最后登录IP地址,并设置在从新设备登录时通知用户的通知通道
use SamuelNitsche\AuthLog\AuthLogable; use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; class User extends Authenticatable { use Notifiable, AuthLogable; }
基本用法
获取用户的全部认证日志
User::find(1)->authentications;
获取用户最后登录信息
User::find(1)->lastLoginAt(); User::find(1)->lastLoginIp();
获取用户之前的登录时间和IP地址(忽略当前登录)
auth()->user()->previousLoginAt(); auth()->user()->previousLoginIp();
通知新设备登录
通知可以通过mail
、nexmo
和slack
通道发送。默认通过电子邮件通知。
您可以通过定义notifyAuthenticationLogVia
方法来确定通知应该通过哪些通道发送
/** * The Auth Log notifications delivery channels. * * @return array */ public function notifyAuthenticationLogVia() { return ['nexmo', 'mail', 'slack']; }
当然,您可以通过将config/auth-log.php
配置文件中的notify
选项设置为false
来禁用通知
'notify' => env('AUTH_LOG_NOTIFY', false),
清除旧日志
您可以使用auth-log:clear
Artisan命令清除旧的认证日志记录
php artisan auth-log:clear
将删除比您在config/auth-log.php
中的older
选项指定的天数更早的记录
'older' => 365,
贡献
感谢您考虑为Laravel Auth Log做出贡献。
许可证
Laravel Auth Log是开源软件,根据MIT许可证授权。