diego-ninja/laravel-devices

本包为laravel应用程序提供会话跟踪功能、多会话管理和用户设备管理功能。

v1.0.0-beta 2024-09-25 12:45 UTC

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');
});

使用方法

进行中

🥷🏻 作者