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

LUYA Logo

前端用户组模块

LUYA Latest Stable Version Total Downloads Slack Support

本模块的主要目的是提供允许特定用户组访问 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用户类现在被允许访问为groupAgroupB定义的所有页面。

初始化

安装和配置成功后,运行迁移、导入和设置命令以在您的项目中初始化模块。

1.) 迁移您的数据库。

./vendor/bin/luya migrate

2.) 将模块和迁移导入到您的LUYA项目中。

./vendor/bin/luya import