zanevskyas / yii2-helpers
Yii2 的 Kakadu 辅助工具
v1.0.0
2022-10-05 09:51 UTC
Requires
- php: >=7.1
- frostealth/yii2-aws-s3: ^2.1
- kakadu-dev/yii2-base-helpers: ^1.0
- matthew-p/yii2-services: ^3.0
- yiisoft/yii2-queue: ^2.0.0
- yiisoft/yii2-redis: ^2.0.0
This package is not auto-updated.
Last update: 2024-10-03 17:57:01 UTC
README
Yii2 辅助工具
安装
安装此扩展的首选方式是通过 Composer。
可以运行
php composer.phar require --prefer-dist zanevskyas/yii2-helpers "@dev"
或者在您的 composer.json 文件的 require 部分添加
"zanevskyas/yii2-helpers": "@dev"
RBAC
将以下代码添加到控制台主配置中
'controllerMap' => [ ... 'rbac' => [ 'class' => Kakadu\Yii2Helpers\Rbac::class, 'rbacConfig' => RbacConfig::class, ], ... ]
在 common/rbac 中创建 RbacConfigClass,示例
abstract class RbacConfig { /** * @var string|Enum */ public static $roleClass = CustomerRole::class; /** * @var array */ public static $roleRelationships = [ CustomerRole::CUSTOMER, CustomerRole::AUTHOR => [ CustomerRole::CUSTOMER, ], ... ]; /** * @var array|PermissionCustomer */ public static $permissions = [ // Customers PermissionCustomer::class, PermissionSettings::class, // Countries ... // Cities ... ]; }
创建权限和规则...
权限示例
abstract class PermissionSettings { public const CREATE = 'CUSTOMER_SETTINGS_CREATE'; public const UPDATE = 'CUSTOMER_SETTINGS_UPDATE'; public const UPDATE_OWN = 'CUSTOMER_SETTINGS_UPDATE_OWN'; public const VIEW = 'CUSTOMER_SETTINGS_VIEW'; public const VIEW_OWN = 'CUSTOMER_SETTINGS_VIEW_OWN'; /** * @var array */ public static $ruleRelationships = [ self::UPDATE_OWN => RuleOwnerCustomerSettings::class, self::VIEW_OWN => RuleOwnerCustomerSettings::class, ]; /** * @var array */ public static $permissionRelationships = [ self::UPDATE_OWN => [ self::UPDATE, ], self::VIEW_OWN => [ self::VIEW, ], ]; /** * @var array */ public static $roleRelationships = [ CustomerRole::CUSTOMER => [ self::UPDATE_OWN, self::VIEW_OWN, ], CustomerRole::ADMIN => [ self::CREATE, self::UPDATE, self::VIEW, ], ]; }
运行控制台命令以生成 rbac 缓存
php yii rbac/init
就这些了。检查一下。