rmrevin/yii2-rbac-migration

此软件包已被废弃,不再维护。作者建议使用rmrevin/yii2-rbac-command软件包。

Yii2 RBAC 迁移扩展

安装次数: 251

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 1

分支: 1

开放问题: 1

类型:yii2-extension

2.0.2 2015-02-25 10:49 UTC

This package is not auto-updated.

Last update: 2022-02-01 12:43:35 UTC


README

安装

composer.json 中添加

{
    "require": {
        "rmrevin/yii2-rbac-migration": "1.1.*"
    }
}

使用方法

创建一个新的迁移,扩展 \rmrevin\yii\rbac\RbacMigration 并执行为正常迁移

<?
// ...

class m140217_201400_rbac extends \rmrevin\yii\rbac\RbacMigration
{

    protected function getNewRoles()
    {
        return [
            RbacFactory::Role('admin', 'Administrator'),
            RbacFactory::Role('manager', 'Manager'),
            RbacFactory::Role('customer', 'Customer'),
            RbacFactory::Role('user', 'User'),
        ];
    }

    protected function getNewPermissions()
    {
        return [
            RbacFactory::Permission('catalog.view', 'Can view catalog'),
            RbacFactory::Permission('catalog.order', 'Can order items from catalog'),
            RbacFactory::Permission('catalog.favorite', 'Can mark favorite items'),
        ];
    }

    protected function getNewInheritance()
    {
        return [
            'admin' => [
                'manager', // inherit role manager and all permissions from role manager & user
            ],
            'manager' => [
                'user', // inherit role user and all permissions from role user
            ],
            'customer' => [
                'user', // inherit role user and all permissions from role user

                'catalog.order', // inherit permission catalog.order
                'catalog.favorite', // inherit permission catalog.favorite
            ],
            'user' => [
                'catalog.view', // inherit permission catalog.view
            ],
        ];
    }

    protected function getOldInheritance()
    {
        return [
            'admin' => [
                'manager', // inherit role manager and all permissions from role manager & user
            ],
            'manager' => [
                'user', // inherit role user and all permissions from role user
            ],
            'user' => [
            ],
        ];
    }
}

参考

继承

  • protected getNewInheritance()
  • protected getOldInheritance()

规则

  • protected getNewRules()
  • protected getRenamedRules()
  • protected getRemoveRules()

角色

  • protected getNewRoles()
  • protected getRenamedRoles()
  • protected getRemoveRoles()

权限

  • protected getNewPermissions()
  • protected getRenamedPermissions()
  • protected getRemovePermissions()