diego-ninja / laravel-devices
本包为laravel应用程序提供会话跟踪功能、多会话管理和用户设备管理功能。
v1.0.0-beta
2024-09-25 12:45 UTC
Requires
- php: ^8.2
- hisorange/browser-detect: ^4.5
- laravel/framework: ^10 || ^11
- nesbot/carbon: ^2 || ^3
- ramsey/uuid: ^4.7
Requires (Dev)
- barryvdh/laravel-ide-helper: ^3.1
- friendsofphp/php-cs-fixer: ^3.21
- larastan/larastan: ^2
- mockery/mockery: ^1.4.4
- pestphp/pest: ^2 || ^3
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-26 15:31:33 UTC
README
本包为laravel应用程序提供会话跟踪功能、多会话管理和用户设备管理功能。
❤️ 特性
- 认证用户设备
- 会话管理
- 会话阻止
- 会话锁定安全代码
- 会话位置跟踪
- 设备验证
- 设备劫持检测(进行中)
- 应用程序事件
- 可直接使用的中间件、路由、控制器、DTO和资源
📦 安装
在composer.json中
"require": {
"diego-ninja/laravel-devices": "^1"
}
运行
composer update
发布配置和迁移
php artisan vendor:publish --provider="Ninja\DeviceTracker\DeviceTrackerServiceProvider"
将服务提供者添加到bootstrap/providers.php
下的providers
return [
...
Ninja\DeviceTracker\DeviceTrackerServiceProvider::class,
]
更新配置文件以符合您的需求
config/devices.php
迁移数据库
php artisan migrate
将特质添加到您的用户模型中
use Ninja\DeviceTracker\Traits\HasDevices;
class User extends Model {
use HasDevices;
}
在您的bootstrap/app.php文件中添加DeviceTrack中间件。此中间件将跟踪用户设备,将检查是否存在带有设备uuid的cookie,如果不存在,则创建新的设备uuid。
protected $middleware = [
'Ninja\DeviceTracker\Http\Middleware\DeviceTrack',
];
在您的routes.php文件中,您应该为要跟踪的路线添加'session-tracker'中间件。此中间件将检查用户是否有有效的会话和设备。如果没有,则根据您的配置重定向到登录页面或返回401 json响应。
Route::group(['middleware'=>'session-tracker'], function(){
Route::get('your-route', 'YourController@yourAction');
});
使用方法
进行中