geisi / laravel-db-session-helper
此包基于Laravel会话数据库驱动构建。使用它,您可以通过用户的登录状态查询用户。
v0.0.2
2021-08-01 17:40 UTC
Requires
- php: ^7.4|^8.0
- illuminate/auth: ^8.0
- illuminate/container: ^8.0
- illuminate/contracts: ^8.0
- illuminate/database: ^8.42
- spatie/laravel-package-tools: ^1.4.3
Requires (Dev)
- brianium/paratest: ^6.3
- nunomaduro/collision: ^5.3
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^8.0|^9.0
- predis/predis: ^1.1
- vimeo/psalm: ^4.8
This package is auto-updated.
Last update: 2024-08-29 06:07:19 UTC
README
⚠️ Laravel DB Session Helper 正在开发中 - 使用风险自担。
Laravel 数据库会话驱动辅助包
此包在Laravel项目中使用数据库会话驱动时增加了一些便利功能。其主要目的是能够通过用户的在线状态过滤用户。
它与Laravel Jetstream应用集成良好。
安装
您可以通过Composer安装此包
composer require geisi/laravel-db-session-helper
首先将HasDatabaseSessions trait添加到您的User模型中
//User.php use Illuminate\Foundation\Auth\User as Authenticatable; use Geisi\LaravelDbSessionHelper\Traits\HasDatabaseSessions class User extends Authenticatable { use HasDatabaseSessions; // ... }
您可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Geisi\LaravelDbSessionHelper\LaravelDbSessionHelperServiceProvider"
用法
//Query all online users \App\Models\User::isOnline()->get(); //Query all offline users \App\Models\User::isOffline()->get(); //Get user online state var_dump($user->is_online); // true or false //Get user last login date var_dump($user->last_login); // Carbon instance
需求
要运行此包,您需要Laravel >= 8.42.x 和 PHP => 7.4 或 PHP 8.0。为了查询用户会话数据,需要数据库会话驱动。
配置
默认情况下,确定用户在线或离线的时间范围是10分钟。因此,如果用户在10分钟内没有与应用程序交互,则将被查询为离线。
您可以通过login_time_span配置值更改此时间范围。
您可以扩展或替换我们的Session模型,只需实现Geisi\LaravelDbSessionHelper\Contracts\Session接口即可。
测试
此包目前处于Beta状态。由于我们不能保证100%的稳定性和功能安全性,我们不推荐在生产环境中使用此包。请将可能的错误提交到问题中。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全漏洞
请查看我们的安全策略了解如何报告安全漏洞。
鸣谢
许可协议
MIT许可(MIT)。有关更多信息,请参阅许可文件。