PHPackages                             izyue/yii2-admin - 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. izyue/yii2-admin

ActiveYii2-extension[Authentication &amp; Authorization](/categories/authentication)

izyue/yii2-admin
================

RBAC Auth manager for Yii2

1.0.5(4y ago)391.8k26[1 issues](https://github.com/liulipeng/Yii2-Admin/issues)BSD-3-ClausePHP

Since Jun 8Pushed 4y ago6 watchersCompare

[ Source](https://github.com/liulipeng/Yii2-Admin)[ Packagist](https://packagist.org/packages/izyue/yii2-admin)[ RSS](/packages/izyue-yii2-admin/feed)WikiDiscussions master Synced today

READMEChangelog (8)Dependencies (1)Versions (10)Used By (0)

RBAC Manager for Yii 2
======================

[](#rbac-manager-for-yii-2)

需要依赖这个[项目](https://github.com/liulipeng/Yii2-Project-Admin)来安装Admin, 详情请查阅

[![Latest Stable Version](https://camo.githubusercontent.com/d82bf995f9cd5137c22c0cbe91aa3a31e9577eba53a8e9d529e48cfdc5ae6938/68747470733a2f2f706f7365722e707567782e6f72672f697a7975652f796969322d61646d696e2f762f737461626c65)](https://packagist.org/packages/izyue/yii2-admin)[![Total Downloads](https://camo.githubusercontent.com/701ee303b3f9f47ac87baeb0108dba2e380e8b228faa28af91c92895bc73921e/68747470733a2f2f706f7365722e707567782e6f72672f697a7975652f796969322d61646d696e2f646f776e6c6f616473)](https://packagist.org/packages/izyue/yii2-admin)[![License](https://camo.githubusercontent.com/ca75f3b0b0f4bc1dedfb4d460c17d2d62770e8a4cd3e32bd4737f1dbf9c6e4f8/68747470733a2f2f706f7365722e707567782e6f72672f697a7975652f796969322d61646d696e2f6c6963656e7365)](https://packagist.org/packages/izyue/yii2-admin)[![Daily Downloads](https://camo.githubusercontent.com/f6f54b524093f910cfd28d402b1bf8d764f7424bae059835b346df42003f4235/68747470733a2f2f706f7365722e707567782e6f72672f697a7975652f796969322d61646d696e2f642f6461696c79)](https://packagist.org/packages/izyue/yii2-admin)

### 功能

[](#功能)

1. 基础功能：登录，登出，密码修改等常见的功能
2. 菜单配置：可视化配置菜单，可以根据配置用户的权限显示隐藏菜单
3. 权限机制：角色、权限增删改查，以及给用户赋予角色权限
4. 规则机制：除了权限角色之外有规则机制，即可以给对应的权限配置规则
5. 二次开发：完全可以基于该系统做二次开发，开发一套适合自己的后台管理系统，节约权限控制以及部分基础功能开发的时间成本，后台系统开发的不二之选
6. 持续更新：新的功能模块会持续更新，请关注

### 安装

[](#安装)

最简单的安装，请访问[这里](https://github.com/liulipeng/Yii2-Project-Admin)查看

### 预览

[](#预览)

#### 登录

[](#登录)

[![](https://camo.githubusercontent.com/0a061cc69e788ae078f9e3cde958a5644ba9f4322f580a4765a4d0fb9ae481b2/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f312e6a7067)](https://camo.githubusercontent.com/0a061cc69e788ae078f9e3cde958a5644ba9f4322f580a4765a4d0fb9ae481b2/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f312e6a7067)

#### 首页

[](#首页)

[![](https://camo.githubusercontent.com/f7b9b31d91e3f1dc8013b6b6a4ef71cc1093dc3cd954bed74a03a299e173aedc/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f322e6a7067)](https://camo.githubusercontent.com/f7b9b31d91e3f1dc8013b6b6a4ef71cc1093dc3cd954bed74a03a299e173aedc/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f322e6a7067)

#### 权限管理

[](#权限管理)

[![](https://camo.githubusercontent.com/fdb4c0d0aa88897330398020d81d00e874443f9f529313b80f62199d69345780/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f332e6a7067)](https://camo.githubusercontent.com/fdb4c0d0aa88897330398020d81d00e874443f9f529313b80f62199d69345780/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f332e6a7067)

#### 角色管理

[](#角色管理)

[![](https://camo.githubusercontent.com/54a628484bb91faa1e7917544effbd14b0ebf1be336014db3c6b2f2bfca72a70/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f342e6a7067)](https://camo.githubusercontent.com/54a628484bb91faa1e7917544effbd14b0ebf1be336014db3c6b2f2bfca72a70/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f342e6a7067)

#### 路由管理

[](#路由管理)

[![](https://camo.githubusercontent.com/6da34e552c13d2df283417c32298094cc52dd082bdf1fcd3b7def4a8db475b2d/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f352e6a7067)](https://camo.githubusercontent.com/6da34e552c13d2df283417c32298094cc52dd082bdf1fcd3b7def4a8db475b2d/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f352e6a7067)

#### 菜单管理

[](#菜单管理)

[![](https://camo.githubusercontent.com/82263c34fcd8601cb2a52e808cf35d8e9ea5c76f0fbd1d9e932f0010f75b1034/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f362e6a7067)](https://camo.githubusercontent.com/82263c34fcd8601cb2a52e808cf35d8e9ea5c76f0fbd1d9e932f0010f75b1034/687474703a2f2f7777772e697a7975652e636f6d2f796969322d61646d696e2f696e6465782f362e6a7067)

### Install With Composer

[](#install-with-composer)

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

Either run

```
php composer.phar require izyue/yii2-admin "*"

```

or for the dev-master

```
php composer.phar require izyue/yii2-admin "dev"

```

Or, you may add

```
"izyue/yii2-admin": "*"

```

to the require section of your `composer.json` file and execute `php composer.phar update`.

### Install From the Archive

[](#install-from-the-archive)

Download the latest release from here [releases](https://github.com/mdmsoft/yii2-admin/releases), then extract it to your project. In your application config, add the path alias for this extension.

```
return [
    ...
    'aliases' => [
        '@izyue/admin' => 'path/to/your/extracted',
        // for example: '@izyue/admin' => '@app/extensions/mdm/yii2-admin-2.0.0',
        ...
    ]
];
```

Usage
-----

[](#usage)

Once the extension is installed, simply modify your application configuration as follows:

```
return [
    'modules' => [
        'admin' => [
            'class' => 'izyue\admin\Module',
            ...
        ]
        ...
    ],
    ...
    'components' => [
        ...
        'authManager' => [
            'class' => 'yii\rbac\PhpManager', // or use 'yii\rbac\DbManager'
        ]
    ],
    'as access' => [
        'class' => 'izyue\admin\components\AccessControl',
        'allowActions' => [
            'site/*',
            'admin/*',
            'some-controller/some-action',
            // The actions listed here will be allowed to everyone including guests.
            // So, 'admin/*' should not appear here in the production, of course.
            // But in the earlier stages of your development, you may probably want to
            // add a lot of actions here until you finally completed setting up rbac,
            // otherwise you may not even take a first step.
        ]
    ],
];
```

See [Yii RBAC](http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#role-based-access-control-rbac) for more detail. You can then access Auth manager through the following URL:

```
http://localhost/path/to/index.php?r=admin
http://localhost/path/to/index.php?r=admin/route
http://localhost/path/to/index.php?r=admin/permission
http://localhost/path/to/index.php?r=admin/menu
http://localhost/path/to/index.php?r=admin/role
http://localhost/path/to/index.php?r=admin/assignment

```

To use the menu manager (optional), execute the migration here:

```
yii migrate --migrationPath=@izyue/admin/migrations

```

If you use database (class 'yii\\rbac\\DbManager') to save rbac data, execute the migration here:

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

```

Customizing Assignment Controller
---------------------------------

[](#customizing-assignment-controller)

Assignment controller properties may need to be adjusted to the User model of your app. To do that, change them via `controllerMap` property. For example:

```
    'modules' => [
        'admin' => [
            ...
            'controllerMap' => [
                 'assignment' => [
                    'class' => 'izyue\admin\controllers\AssignmentController',
                    /* 'userClassName' => 'app\models\User', */
                    'idField' => 'user_id',
                    'usernameField' => 'username',
                    'fullnameField' => 'profile.full_name',
                    'extraColumns' => [
                        [
                            'attribute' => 'full_name',
                            'label' => 'Full Name',
                            'value' => function($model, $key, $index, $column) {
                                return $model->profile->full_name;
                            },
                        ],
                        [
                            'attribute' => 'dept_name',
                            'label' => 'Department',
                            'value' => function($model, $key, $index, $column) {
                                return $model->profile->dept->name;
                            },
                        ],
                        [
                            'attribute' => 'post_name',
                            'label' => 'Post',
                            'value' => function($model, $key, $index, $column) {
                                return $model->profile->post->name;
                            },
                        ],
                    ],
                    'searchClass' => 'app\models\UserSearch'
                ],
            ],
            ...
        ]
        ...
    ],
```

- Required properties
    - **userClassName** Fully qualified class name of your User model
        Usually you don't need to specify it explicitly, since the module will detect it automatically
    - **idField** ID field of your User model
        The field that corresponds to Yii::$app-&gt;user-&gt;id.
        The default value is 'id'.
    - **usernameField** User name field of your User model
        The default value is 'username'.
- Optional properties
    - **fullnameField** The field that specifies the full name of the user used in "view" page.
        This can either be a field of the user model or of a related model (e.g. profile model).
        When the field is of a related model, the name should be specified with a dot-separated notation (e.g. 'profile.full\_name').
        The default value is null.
    - **extraColumns** The definition of the extra columns used in the "index" page
        This should be an array of the definitions of the grid view columns.
        You may include the attributes of the related models as you see in the example above.
        The default value is an empty array.
    - **searchClass** Fully qualified class name of your model for searching the user model
        You have to supply the proper search model in order to enable the filtering and the sorting by the extra columns.
        The default value is null.

Customizing Layout
------------------

[](#customizing-layout)

By default, the admin module will use the layout specified in the application level. In that case you have to write the menu for this module on your own.

By specifying the `layout` property, you can use one of the built-in layouts of the module: 'left-menu', 'right-menu' or 'top-menu', all equipped with the menu for this module.

```
    'modules' => [
        'admin' => [
            ...
            'layout' => 'left-menu', // defaults to null, using the application's layout without the menu
                                     // other avaliable values are 'right-menu' and 'top-menu'
        ],
        ...
    ],
```

If you use one of them, you can also customize the menu. You can change menu label or disable it.

```
    'modules' => [
        'admin' => [
            ...
            'layout' => 'left-menu',
            'menus' => [
                'assignment' => [
                    'label' => 'Grant Access' // change label
                ],
                'route' => null, // disable menu
            ],
        ],
        ...
    ],
```

While using a dedicated layout of the module, you may still want to have it wrapped in your application's main layout that has your application's nav bar and your brand logo on it. You can do it by specifying the `mainLayout` property with the application's main layout. For example:

```
    'modules' => [
        'admin' => [
            ...
            'layout' => 'left-menu',
            'mainLayout' => '@app/views/layouts/main.php',
            ...
        ],
        ...
    ],
```

[screenshots](https://picasaweb.google.com/105012704576561549351/Yii2Admin?authuser=0&feat=directlink)

###  Health Score

37

—

LowBetter than 84% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity69

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 ~241 days

Recently: every ~474 days

Total

9

Last Release

1640d ago

Major Versions

0.0.3 → 1.0.02016-07-12

### Community

Maintainers

![](https://www.gravatar.com/avatar/92f9ff4017a1ea1b944325d333a97a4bb6b9726f550ad9a1c4e3a6134043d4e5?d=identicon)[liulipeng](/maintainers/liulipeng)

---

Top Contributors

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

---

Tags

authrbacyiiadminyii2-adminizyue

### Embed Badge

![Health badge](/badges/izyue-yii2-admin/health.svg)

```
[![Health](https://phpackages.com/badges/izyue-yii2-admin/health.svg)](https://phpackages.com/packages/izyue-yii2-admin)
```

###  Alternatives

[liujx/yii2-app-advanced

Yii2 ace-admin RBAC management background

1311.4k](/packages/liujx-yii2-app-advanced)[windhoney/yii2-rest-rbac

RBAC Auth manager for Yii2 RESTful

811.2k](/packages/windhoney-yii2-rest-rbac)

PHPackages © 2026

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