PHPackages                             kak/rbac - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. kak/rbac

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

kak/rbac
========

rbac manager for Yii2

1.0.7(3y ago)91.1kMITPHP

Since May 16Pushed 3y ago2 watchersCompare

[ Source](https://github.com/sanchezzzhak/kak-rbac)[ Packagist](https://packagist.org/packages/kak/rbac)[ RSS](/packages/kak-rbac/feed)WikiDiscussions master Synced today

READMEChangelog (7)Dependencies (5)Versions (9)Used By (0)

RBAC manager for Yii2
=====================

[](#rbac-manager-for-yii2)

Dash Preview [![](https://camo.githubusercontent.com/b1a1f70c2d1403a8dad4197b8b39a02b21b8c3a7f266b2abe6c9282bf0016704/68747470733a2f2f312e62702e626c6f6773706f742e636f6d2f2d7273544d705f5276434e672f5752725957746d61325f492f4141414141414141414a342f4847586b53765066437138457962344f78664f446d793957746d50364274705941434c63422f73313630302f726261632d707265766965772e706e67)](https://camo.githubusercontent.com/b1a1f70c2d1403a8dad4197b8b39a02b21b8c3a7f266b2abe6c9282bf0016704/68747470733a2f2f312e62702e626c6f6773706f742e636f6d2f2d7273544d705f5276434e672f5752725957746d61325f492f4141414141414141414a342f4847586b53765066437138457962344f78664f446d793957746d50364274705941434c63422f73313630302f726261632d707265766965772e706e67)

fork for

### install

[](#install)

##### step 1

[](#step-1)

The preferred way to install this extension is through [composer](http://getcomposer.org/download/). Either run

```
php composer.phar require --prefer-dist kak/rbac ">=1.0"

```

or add

```
"kak/rbac": ">=1.0"

```

##### step 2

[](#step-2)

add config web.php

```
    'authManager' => [
        'class' => 'kak\rbac\components\DbManager',
        'defaultRoles' => [
            'guest',
            'user'
        ],
    ],

```

##### step 3

[](#step-3)

create tables

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

```

Insert base rbac rules

```
yii migrate --migrationPath=@vendor/kak/rbac/migrations

```

#### step 4

[](#step-4)

Using module admin RBAC

```
$config['modules']['rbac'] = [
    'class' => 'kak\rbac\Module',
    // set custom Layout
    'mainLayout' => '@app/modules/dashboard/views/layouts/main.php',
    'layout' => 'main',
    'userAttributes' => [
        'username',
        'email'
    ]
    // desable check rbac - default true
    'checkAccessPermissionAdministrateRbac' => false
];

```

Controllers rules base

Consts

```
interface PermissionConst
{
    const
        ItemView   = 'ItemView',
        ItemUpdate = 'ItemUpdate',
        ItemCreate = 'ItemCreate',
        ItemDelete = 'ItemDelete',

        UpdateOwn  = 'UpdateOwn',
        DeleteOwn  = 'DeleteOwn',
        AuthorRule  = 'AuthorRule';
}
```

```
public function behaviors()
{
    return [
        'access' => [
            'class' => yii\filters\AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['index', 'create'],
                    'allow' => true,
                    'roles' => [User::ROLE_ADMIN,User::ROLE_MANAGER],
                ],[
                    'actions' => ['update'],
                    'allow' => true,
                    'roles' => [User::ROLE_ADMIN, User::ROLE_MANAGER ],
                ],[
                    'actions' => ['delete'],
                    'allow' => true,
                    'roles' => [User::ROLE_ADMIN],
                ],[
                  'actions' => ['about'],
                  'allow' => true,
                  'roles' => ["?" , "@"],
                ]
            ],
        ],
    ];
}
```

using context access rule

```
public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
            'rules' => [
                [
                    'actions' => ['index', 'create'],
                    'allow' => true,
                    'roles' => ['@'],
                ],[
                    'class' => 'kak\rbac\rules\ContextAccessRule',
                    'modelClass' => 'app\models\Stream',
                    'actions' => ['update'],
                    'roles' => [PermissionConst::UpdateOwn],
                ],[
                    'class' => 'kak\rbac\rules\ContextAccessRule',
                    'modelClass' => 'app\models\Stream',
                    'actions' => ['delete'],
                    'roles' => [PermissionConst::DeleteOwn],
                ]
            ],
        ],

    ];
}
```

is current user personal check permission

```
$isAccess = Yii::$app->user->can(PermissionConst::ItemCreate)
            && Yii::$app->user->can(User::ROLE_ADMIN);
```

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity21

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~305 days

Recently: every ~410 days

Total

8

Last Release

1198d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/f0a9b5d532bda5e53a2a5707151ac365e365a04fa7f3fc3a26f2289f9c277082?d=identicon)[sanchezzzhak](/maintainers/sanchezzzhak)

---

Top Contributors

[![sanchezzzhak](https://avatars.githubusercontent.com/u/1337066?v=4)](https://github.com/sanchezzzhak "sanchezzzhak (17 commits)")

---

Tags

yii2-rbacyii2-rbac-adminyii2-rbac-moduleyii2rbac managerkak rbac

### Embed Badge

![Health badge](/badges/kak-rbac/health.svg)

```
[![Health](https://phpackages.com/badges/kak-rbac/health.svg)](https://phpackages.com/packages/kak-rbac)
```

###  Alternatives

[craftcms/cms

Craft CMS

3.6k3.6M3.1k](/packages/craftcms-cms)[yii2mod/yii2-rbac

RBAC management module for Yii2

150367.7k7](/packages/yii2mod-yii2-rbac)[rmrevin/yii2-ulogin

Extension for yii2 ulogin integration

1812.0k](/packages/rmrevin-yii2-ulogin)[kakadu-dev/yii2-jwt-auth

Extension provide JWT auth for Yii2

105.8k](/packages/kakadu-dev-yii2-jwt-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
