rmrevin / yii2-rbac-migration
2.0.2
2015-02-25 10:49 UTC
Requires
- php: >=5.4.0
- yiisoft/yii2: 2.0.*
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()