orderonlineid/role-permission-laravel-mongodb

Laravel Mongodb 权限处理

1.0.8 2024-04-22 03:32 UTC

This package is auto-updated.

Last update: 2024-09-22 04:30:32 UTC


README

本包为使用MongoDB作为数据库的Laravel应用程序提供角色和权限管理。

安装

要安装此包,运行以下Composer命令

composer require orderonlineid/role-permission-laravel-mongodb

安装完成后,您需要通过运行以下命令发布配置文件和迁移

php artisan vendor:publish --provider="OrderOnlineId\RolePermissionMongoDb\RolePermissionMongoDbServiceProvider"

使用方法

设置角色和权限 要设置角色和权限,您可以使用此包提供的Role和Permission模型。

use OrderOnlineId\RolePermissionMongoDb\Models\Role;
use OrderOnlineId\RolePermissionMongoDb\Models\Permission;

// Create a new role
$role = Role::create(['name' => 'admin']);

// Create a new permission
$permission = Permission::create(['code' => 'create','name' => 'Create']);

// Assign the permission to the role
$role->givePermissionTo($permission);

将角色和权限分配给用户

要分配角色和权限给用户,您可以使用此包提供的HasRoles和HasPermissions特性。

use App\Models\User;
use OrderOnlineId\RolePermissionMongoDb\Traits\HasRoles;
use OrderOnlineId\RolePermissionMongoDb\Traits\HasPermissions;

class User extends Authenticatable
{
    use HasRoles, HasPermissions;

    // ...
}

之后,您可以像这样分配角色和权限给用户

$user = User::find(1);

$permission = Permission::create(['code' => 'create','name' => 'Create']);

// Assign a role
$user->assignRole($permission);

// Grant a permission
$user->givePermissionTo('view', 'users');

检查用户角色和权限

您可以通过这种方式检查用户是否具有特定的角色或权限

$user = User::find(1);

// Check for a role
if ($user->hasRole('admin')) {
    // ...
}

// Check for a permission
if ($user->hasAllPermission('view', 'users')) {
    // ...
}

有关使用此包的更多信息,请参阅文档或配置文件。