定制 archeenic/laram-permission-registry 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

archeenic/laram-permission-registry

最新稳定版本:v0.6

Composer 安装命令:

composer require archeenic/laram-permission-registry

包简介

Laravel module for managing user permissions registry

README 文档

README

Модуль для централизованного управления доступами пользователей к различным сервисам и ресурсам. Обеспечивает гибкий механизм определения прав доступа через систему доступов, полей, групп и должностей.

Установка

Вы можете установить пакет через Composer:

composer require archee-nic/permission-registry

После установки опубликуйте миграции и запустите их:

php artisan vendor:publish --tag=permission-registry-migrations
php artisan migrate

При желании вы можете опубликовать конфигурационный файл:

php artisan vendor:publish --tag=permission-registry-config

Вы также можете опубликовать представления для их настройки:

php artisan vendor:publish --tag=permission-registry-views

Использование

Проверка доступа

use ArcheeNic\PermissionRegistry\Facades\PermissionRegistry;

// Проверка прав доступа
if (PermissionRegistry::hasPermission($userId, 'service_name', 'permission_name')) {
    // Пользователь имеет доступ
}

// Валидация значения поля доступа
if (PermissionRegistry::validateField($userId, 'service_name', 'permission_name', 'field_name', 'value')) {
    // Значение поля валидно
}

Управление доступами

// Получение всех доступов пользователя
$permissions = PermissionRegistry::getUserPermissions($userId);

// Выдача доступа
PermissionRegistry::grantPermission(
    $userId,
    'service_name',
    'permission_name',
    ['field_id' => 'value'],  // значения полей
    ['reason' => 'Requested by admin'],  // метаданные
    '2023-12-31 23:59:59'  // срок действия
);

// Отзыв доступа
PermissionRegistry::revokePermission($userId, 'service_name', 'permission_name');

// Синхронизация доступов на основе должностей и групп пользователя
PermissionRegistry::syncUserPermissions($userId);

Middleware

Пакет регистрирует middleware permission, который можно использовать для защиты маршрутов:

Route::middleware(['permission:service_name,permission_name'])->group(function () {
    // Маршруты, защищенные проверкой прав
});

Особенности

  • Централизованное управление правами доступа
  • Поддержка должностей с наследованием прав
  • Группировка прав для удобного управления
  • Поля доступа с валидацией значений
  • События жизненного цикла для интеграции с другими системами
  • Удобный пользовательский интерфейс на Livewire

Лицензия

Этот пакет распространяется под лицензией MIT.

统计信息

  • 总下载量: 13
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: Blade

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-03-09