【问题标题】:RBAC management in LaravelLaravel 中的 RBAC 管理
【发布时间】:2017-03-19 02:05:30
【问题描述】:

我想在 Laravel 中添加一个包来管理角色和权限,

我找到了一些包:

但我不知道哪个更好!

我的要求:

我已经有一个管理面板和用户管理系统,现在我想添加一个用于添加用户组的部分,这样我就可以从管理面板创建用户组,然后将权限分配给用户组,然后我可以将用户分配给组。 在站点中,我应该验证用户访问权限。

我想知道我可以使用 db 和管理面板使用这些软件包管理组和角色吗?

【问题讨论】:

标签: php laravel acl laravel-5.3 rbac


【解决方案1】:

我使用了 entrust,它非常好,可扩展的基于角色的访问控制。

我可以给你一个快速的开始:

  • 使用 composer 安装。
  • config/app.php添加别名
  • 运行 php artisan vendor:publish
  • 打开您的config/auth.php 并添加以下内容:

    'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => Namespace\Of\Your\User\Model\User::class, 'table' => 'users', ], ],

  • 如果你想使用中间件并且你应该使用然后添加:

    'role' => \Zizaco\Entrust\Middleware\EntrustRole::class, 'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class, 'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,

  • 在 config/auth.php 中设置属性值。这些值将是 entrust 用来引用正确的用户表和模型。

  • 生成 Entrust 迁移:

    php artisan entrust:migration 然后php artisan migrate

注意:检查您的迁移表。

现在添加模型:RolePermission 供两者使用 use Zizaco\Entrust\EntrustRole;

在您的User 模型中使用use Zizaco\Entrust\Traits\EntrustUserTrait;

还有composer dump-autoload

你可以走了。


要添加角色和权限,您应该有视图,用于在表中添加列表用户以及角色的视图,就像您编辑用户时一样,下拉列表中应该有一个角色选项。

那么对于角色,应该有类似的权限,admin 拥有read,write,delete 的权限。所以现在您有一个视图,您可以在其中授予角色权限。

休息是你自己的逻辑,你的需要。

【讨论】:

  • 谢谢,但我想知道如何从管理面板向数据库添加角色和权限,如何添加新组和权限?我应该手动添加到RolePermission 表吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 2016-09-29
  • 2019-11-30
  • 1970-01-01
  • 2020-04-15
  • 2015-05-06
  • 1970-01-01
相关资源
最近更新 更多