orderonlineid / role-permission-laravel-mongodb
Laravel Mongodb 权限处理
1.0.8
2024-04-22 03:32 UTC
Requires
- php: ^8.1
- illuminate/auth: ^10.0|^11.0
- illuminate/container: ^10.0|^11.0
- illuminate/contracts: ^10.0|^11.0
- mongodb/laravel-mongodb: ^4.1.1
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')) {
// ...
}
有关使用此包的更多信息,请参阅文档或配置文件。