mimaxuz/role-manager

为 Laravel 应用提供的简单角色和权限管理

v2.0.7 2024-08-16 11:14 UTC

This package is auto-updated.

Last update: 2024-09-16 11:34:35 UTC


README

简单且灵活的 Laravel 授权和角色权限管理

Total Downloads

关于

在许多项目中,您需要与角色和权限打交道。许多包很大,并不是所有功能都是必需的。这就是我尝试创建一个小巧但有效的包的原因。这个包可以附加到任何项目中。方便且高效。它非常易于使用,安装后即可使用。

安装

然而,如果您没有使用 Homestead,您需要确保您的服务器满足以下要求

  • PHP >= 7.2.5
  • BCMath PHP 扩展
  • Ctype PHP 扩展
  • Fileinfo PHP 扩展
  • JSON PHP 扩展
  • Mbstring PHP 扩展
  • OpenSSL PHP 扩展
  • PDO PHP 扩展
  • Tokenizer PHP 扩展
  • XML PHP 扩展

通过 composer 安装包

$ composer require mimaxuz/role-manager

之后,您需要运行迁移文件

$ php artisan migrate

如何使用包迁移

此包包含以下表。所有表都有关系线,关系是级联的。

Database Diagram For Laravel Role Manager packages

如何激活包?

此包包含特质,必须在 App\Users 模型中激活。为此,请按照以下步骤操作。

  1. 打开 App\User 模型并复制以下代码
//For importing traits form package
Use MIMAXUZ\LRoles\Traits\HasPermissions;
...

class User extends Authenticatable
{
    use Notifiable;
    //Import The Trait
    use HasPermissions; 
    ...
 }

为角色分配路由

除了中间件和其他路由设置外,您还可以在您的路由组中使用 role 键为您的路由分配角色。
您可以使用以下方式使用路由组。


Route::group(['middleware' => 'role:admin'], function () {
    //With controller
    Route::get('/a', 'HomeController@dashboard');
    //Inside functions
    Route::get('/admin', function () {
        return 'Welcome Admin';
    });
});

如何在 Blade 中使用角色?

如果您想在 Blade 模板 中使用它,请使用以下方法。

 @role('admin')
   Only Admin roles user can access to it
 @endrole

结论

此包可能存在问题和错误。如果发生错误或问题,请务必报告!

许可证

Standt MIT 许可证