lahirulhr/nova-lock-screen

laravel nova 的简单锁屏。

1.0.3 2023-09-23 17:29 UTC

This package is auto-updated.

Last update: 2024-09-04 06:15:59 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

锁屏是一个简单的安全特性,它作为 NOVA 仪表板的锁定覆盖层。如果用户在给定超时时间内闲置,锁屏将自动激活。然后用户需要再次输入登录密码才能继续会话。

查看

如何使用

  1. 运行 composer composer require lahirulhr/nova-lock-screen 来安装包

  2. 发布配置(可选) php artisan vendor:publish --tag="nova-lock-screen.config"

  3. 在 User 模型中使用 LockScreen 特性

use Lahirulhr\NovaLockScreen;


class User extends Model {

  use LockScreen;
  
  // ... 

}
  1. 在 Nova 服务提供者中注册工具
use Lahirulhr\NovaLockScreen\NovaLockScreen;

public function tools()
    {
        return [
            // ... ,
            new NovaLockScreen,
        ];
    }
  1. nova.php 中注册中间件
'middleware' => [
      // ... ,
      \Lahirulhr\NovaLockScreen\Http\Middleware\LockScreen::class,
],
  1. 完成

配置

<?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)。请参阅 许可文件 了解更多信息。