lahirulhr / nova-lock-screen
laravel nova 的简单锁屏。
1.0.3
2023-09-23 17:29 UTC
Requires
- php: ^7.3|^8.0
README
锁屏是一个简单的安全特性,它作为 NOVA 仪表板的锁定覆盖层。如果用户在给定超时时间内闲置,锁屏将自动激活。然后用户需要再次输入登录密码才能继续会话。
查看
如何使用
-
运行 composer
composer require lahirulhr/nova-lock-screen
来安装包 -
发布配置(可选)
php artisan vendor:publish --tag="nova-lock-screen.config"
-
在 User 模型中使用
LockScreen
特性
use Lahirulhr\NovaLockScreen; class User extends Model { use LockScreen; // ... }
- 在 Nova 服务提供者中注册工具
use Lahirulhr\NovaLockScreen\NovaLockScreen; public function tools() { return [ // ... , new NovaLockScreen, ]; }
- 在
nova.php
中注册中间件
'middleware' => [ // ... , \Lahirulhr\NovaLockScreen\Http\Middleware\LockScreen::class, ],
- 完成
配置
<?php // config for Nova Lock Screen return [ // master lock 'enabled' => true, // auth guard for lock screen 'guard' => 'web', // if user has been inactive for this long time, the app will be locked 'lock_timeout' => 15, // second // default background image for lock screen 'background_image' => 'https://magnificentsrilanka.com/wp-content/uploads/2022/01/sigiriya-from-pidurangala-1.jpg', // these urls are not locked by lock screen 'excluded_urls' => [ // ], // set custom url for lock screen 'lock_url' => 'nova-lock-screen', ];
为每个用户设置自定义背景图片
你可以通过在 User 模型中重写 getLockScreenImage()
方法来覆盖默认背景图片
public function getLockScreenImage():String { return 'url\to\image.jpg'; }
为每个用户启用/禁用锁屏
使用 lockScreenEnabled()
方法来覆盖默认锁屏状态设置
public function lockScreenEnabled():bool { return false; }
为每个用户设置锁定超时
使用 lockScreenTimeout()
方法来覆盖默认锁屏状态设置
public function lockScreenTimeout():int { return 60*10; // seconds }
自定义锁屏
锁屏页面是用 Blade 视图构建的。你可以通过运行 php artisan vendor:publish --tag="nova-lock-screen.views"
命令将它们复制到你的资源目录中,然后根据需要自定义它们。
致谢
许可协议
MIT 许可协议(MIT)。请参阅 许可文件 了解更多信息。