luyadev / luya-module-frontendgroup
为特定用户组提供允许 CMS 页面的能力。
1.0.0
2017-12-12 11:19 UTC
This package is auto-updated.
Last update: 2024-09-05 15:22:49 UTC
README
前端用户组模块
本模块的主要目的是提供允许特定用户组访问 CMS 页面的能力。这也可以是只有一个用户的一个组,或者同一个组中的不同用户,或者不同组中的不同用户。
安装
为了安装模块,需要Composer。
composer require luyadev/luya-module-frontendgroup
配置
将模块添加到您的composer.json后,您需要将前端组模块包含到您的Yii/LUYA项目的配置中,并启动模块(否则它不能在菜单项目事件之前捕获)。
'modules' => [ // ... 'frontendgroup' => [ 'class' => 'luya\frontendgroup\Module', 'frontendUsers' => [ 'user1', 'user2', 'user3', ], 'frontendGroups' => [ 'groupA', 'groupB', ], ], ], 'bootstrap' => [ // ... 'frontendgroup', ], 'components' => [ // ... 'user1' => [ 'class' => 'luya\web\GroupUser', 'identityClass' => 'app\models\User1Class', ], 'user2' => [ 'class' => 'luya\web\GroupUser', 'identityClass' => 'app\models\User2Class', ], 'user3' => [ 'class' => 'luya\web\GroupUser', 'identityClass' => 'app\models\User3Class', ], ]
上面的配置定义了您的配置
- 在
frontendgroup
模块中,您必须通过frontendUsers
定义允许在您的设置中使用的不同用户,并且您必须使用frontendGroups
定义可用的组。 - 在模块中提到的
frontendUsers
必须作为具有基础类luya\web\GroupUser
的组件存在(这是yii\web\User的包装器)。
前端用户必须遵循GroupUserIdentityInterface
// GroupUserIdentityInterface implentation class User1 extends \yii\db\ActiveRecord implements GroupUserIdentityInterface { // ... public function authGroups() { return ['groupA', 'groupB']; } // ... }
上述User1
用户类现在被允许访问为groupA
和groupB
定义的所有页面。
初始化
安装和配置成功后,运行迁移、导入和设置命令以在您的项目中初始化模块。
1.) 迁移您的数据库。
./vendor/bin/luya migrate
2.) 将模块和迁移导入到您的LUYA项目中。
./vendor/bin/luya import