承接 shah-newaz/permissible-ng 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

shah-newaz/permissible-ng

Composer 安装命令:

composer require shah-newaz/permissible-ng

包简介

Role Permission system for Laravel 11+

README 文档

README

A flexible and powerful Laravel package for managing roles and permissions with hierarchical support.

Features

  • Role-based access control (RBAC)
  • Hierarchical roles with weight-based inheritance
  • Permission management
  • Route middleware for roles and permissions
  • Caching support for optimal performance
  • Soft delete support

Installation

composer require shah-newaz/permissible-ng
php artisan vendor:publish --provider="Shahnewaz\PermissibleNg\Providers\PermissibleServiceProvider"

Run the migrations:

php artisan migrate

Usage

Setup User Model

Add the Permissible trait to your User model:

use Shahnewaz\PermissibleNg\Traits\Permissible;

class User extends Authenticatable
{
    use Permissible;
    
    // ... rest of your User model
}

Note: This can be done using the permissible:setup command automatically.

Managing Roles and Permissions

// Create a role
$role = Role::create([
    'name' => 'Admin',
    'code' => 'admin',
    'weight' => 1
]);

// Create a permission
$permission = Permission::createPermission('users.create');

// Assign permission to role
$role->permissions()->attach($permission);

// Assign role to user
$user->roles()->attach($role);

Checking Permissions

// Check single permission
$user->hasPermission('users.create');

// Check multiple permissions (requires all)
$user->hasPermissions(['users.create', 'users.delete']);

// Check permission type
$user->hasPermissionType('users');

Route Protection

Use the elegant route middleware syntax:

// Protect routes with roles
Route::get('/admin/dashboard', [DashboardController::class, 'index'])
    ->roles(['admin', 'super-admin']);

// Protect routes with permissions
Route::get('/users', [UserController::class, 'index'])
    ->permissions(['users.view']);

// Combine both
Route::get('/users/create', [UserController::class, 'create'])
    ->roles(['admin'])
    ->permissions(['users.create']);

Route Group Protection

Route::group(['middleware' => ['roles:su,admin']], function () {
    Route::get('/admin/dashboard', [DashboardController::class, 'index']);
});

Permission Wildcards

Use wildcards for broader permission control:

// Grant all user permissions
Permission::createPermission('users.*');

// Check if user has any user permission
$user->hasPermissionType('users');

Configuration

The package configuration can be modified in config/permissible.php:

return [
    'enable_routes' => true,
    'enable_user_management_routes' => true,
    'first_last_name_migration' => true,
    'default_fallback_route' => 'backend.dashboard',
];

License

The MIT License (MIT). Please see License File for more information.

shah-newaz/permissible-ng 适用场景与选型建议

shah-newaz/permissible-ng 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 179 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 10 月 11 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「admin」 「backend」 「acl」 「laravel」 「permission」 「role」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 shah-newaz/permissible-ng 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 shah-newaz/permissible-ng 我们能提供哪些服务?
定制开发 / 二次开发

基于 shah-newaz/permissible-ng 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

  • Stars: 0
  • Watchers: 4
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-10-11