developeruz/easyii-rbac-module Role Base Access for EasyiiCMS

modulecmseasyiicms

Role Base Access for EasyiiCMS

This module allows add Rbac module to Easy yii2 cms

Installation guide

Please, install User module for EasyiiCMS by following these instructions before going further

$ php composer.phar require developeruz/easyii-rbac-module "dev-master"

Replace last line in app/config/web.php

$config = array_merge_recursive($config,
    require($webroot . '/vendor/developeruz/easyii-user-module/config/user_module_config.php'),
    require($webroot . '/vendor/noumo/easyii/config/easyii.php'));
$config['components']['user'] = [ 'identityClass' => 'developeruz\easyii_user\models\User' ];
return $config;

with

$config = array_merge_recursive($config,
    require($webroot . '/vendor/developeruz/easyii-user-module/config/user_module_config.php'),
    require($webroot . '/vendor/developeruz/easyii-rbac-module/config/rbac_module_config.php'),
    require($webroot . '/vendor/noumo/easyii/config/easyii.php'));
$config['components']['user'] = [ 'identityClass' => 'developeruz\easyii_rbac\models\User' ];
return $config;

Add authManager to components in app/config/console.php and app/config/web.php

'components' => [
      ...
      'authManager' => [
        'class' => 'yii\rbac\DbManager',
      ],
]

Run authManager migrations

php yii migrate --migrationPath=@yii/rbac/migrations/

Run migrations

php yii migrate --migrationPath=@vendor/developeruz/easyii-rbac-module/migrations

Open User CRUD page (url admin/user), you will see change user role button in action buttons column. Click on it and assign Adminrole to admin user.

Add behaviour in app/config/web.php

'components' => [
...
],
'modules' => [
... 
],
'as AccessBehavior' => [
        'class' => \developeruz\db_rbac\behaviors\AccessBehavior::className(),
        'login_url' => '/admin/sign/in',
        'rules' => [
            'user/security' => [['actions' => ['login'], 'allow' => true ],
                                ['actions' => ['logout'], 'roles' => ['@'], 'allow' => true ]],
            'user/settings' => [['roles' => ['@'], 'allow' => true ]],
            'admin/sign' => [['actions' => ['in'], 'allow' => true],
                             ['actions' => ['out'], 'roles' => ['@'], 'allow' => true ]],

            'site' =>[[ 'allow' => true]],
            'articles' =>[[ 'allow' => true]],
            'gallery' =>[[ 'allow' => true]],
            'news' =>[[ 'allow' => true]],
        ],
]

Add all public controllers in rules.

If the user doesn't have access to admin panel, admin Toolbar will be hidden on front pages via adding css display:none. It is compelled workaround because Easy yii2 cms doesn't allow to overwrite this part. I will create PR and change the behavior in this module as soon as it would be possible.

License

The MIT License (MIT). Please see License File for more information.

Statistics

Downloads
GitHub Stars
GitHub Forks

Releases

No stable releases.

Comments



No stable releases.



MIT license
Stats
4 github stars & 2 github forks
0 downloads in the last day
0 downloads in the last 30 days
112 total downloads