承接 bdmehedi/laravel-permission 相关项目开发

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

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

bdmehedi/laravel-permission

最新稳定版本:1.0.0

Composer 安装命令:

composer require bdmehedi/laravel-permission

包简介

A laravel package to manage laravel roles and permissions

README 文档

README

Laravel Role & Permission

laravel-permission

This is a Laravel package that allows you to manage roles and permissions in any Laravel project with minimal database queries and a small number of loaded models. It is a highly optimized package

Installation, configuration, and uses instructions

install via composer

composer require bdmehedi/laravel-permission

The service provider will be registered automatically. If you want, you may add it manually.

'providers' => [
    // ...
    BdMehedi\LaravelPermission\LaravelPermissionServiceProvider::class,
];

Publish the migrations and edit as your need

php artisan vendor:publish --tag=laravel_permission_migration

Run the migrations. After publishing the migrations and configuring them as your need you have to create database tables by running the command bellow:

php artisan migrate

Add the HasPermissions traits to User model(s)

use HasPermissions

Uses

Create Role and Permission

use BdMehedi\LaravelPermission\Models\Permission;
use BdMehedi\LaravelPermission\Models\Role;


$role = Role::create(['role' => 'admin']);
$permission = Permission::create(['name' => 'create-user', 'group' => 'user']);  //the group is optional

Assign roles and permissions to User

$user->assignRole('admin');
$user->givePermissionTo('create-user');

//or your can assign permissions by providing an array
$user->assignRole(['admin', 'user']);
$user->givePermissionTo(['create-user']);

Withdraw roles and permissions from User

// Single permission or role
$user->revokeRole('admin');
$user->withdrawPermissionTo('create-user');

// Or array of permissions or roles
$user->revokeRole(['admin']);
$user->withdrawPermissionTo(['create-user']);

Give permissions to Role

$role->givePermissionTo('create-user');

//or an array or permissions
$role->givePermissionTo(['create-user']);

Withdraw permissions from Role

$role->withdrawPermissionTo('create-user');

//or array or permissions
$role->givePermissionTo(['create-user']);

Checking permissions

You can check a user's permission with Laravel's default can function.

$user->can('create-user');

Or you can check with hasPermissionTo

$user->hasPermissionTo('create-user');

Checking roles

$user->hasRole('admin');

// or check at least one role from an array of roles:
$user->hasRole(['admin', 'user']);

Middleware

Default middleware

You can use the laravel default middleware can provided by \Illuminate\Auth\Middleware\Authorize::class

Route::middleware('can:create-user')->group(function () {
    
});

Package middleware

If you can check at least one premission of many you can use the allow middleware

Route::middleware('allow:create|view|delete')->group(function () {
    
});

if you have another guard you can user

Route::middleware('allow:create|view|delete,guardName')->group(function () {
    
});

Contribution Guide

This is still in beta, though I have confidence that it will work as expected. You can contribute by reporting bugs, fixing bugs, reviewing pull requests, and more ways. Go to the issues section, and you can start working on an issue immediately. If you want to add or fix something, open a pull request.

统计信息

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

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-07-06