PHPackages                             cusodede/yii2-permissions - 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. cusodede/yii2-permissions

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

cusodede/yii2-permissions
=========================

Permissions support module for Yii2

1.3.1(8mo ago)32403[10 issues](https://github.com/cusodede/yii2-permissions/issues)LGPL-3.0-or-laterPHPPHP &gt;=8.3CI passing

Since Apr 1Pushed 8mo ago1 watchersCompare

[ Source](https://github.com/cusodede/yii2-permissions)[ Packagist](https://packagist.org/packages/cusodede/yii2-permissions)[ RSS](/packages/cusodede-yii2-permissions/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (23)Versions (47)Used By (0)

yii2-permissions
================

[](#yii2-permissions)

Управление пользовательскими разрешениями для Yii2

[![GitHub Workflow Status](https://camo.githubusercontent.com/98c7f8e4f5480dc1d208be5fdce21646c1bf901d337387b1dbe69b1c535b6771/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6375736f646564652f796969322d7065726d697373696f6e732f63695f776974685f706f737467726573716c2e796d6c3f6272616e63683d6d6173746572)](https://camo.githubusercontent.com/98c7f8e4f5480dc1d208be5fdce21646c1bf901d337387b1dbe69b1c535b6771/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6375736f646564652f796969322d7065726d697373696f6e732f63695f776974685f706f737467726573716c2e796d6c3f6272616e63683d6d6173746572)

Установка
=========

[](#установка)

Выполните

```
php composer.phar require cusodede/yii2-permissions "^1.0.0"

```

или добавьте

```
"cusodede/yii2-permissions": "^1.0.0"

```

в секцию `require`.

Миграции
========

[](#миграции)

Модуль хранит данные в таблицах, которые будут созданы командой

```
php yii migrate/up --migrationPath=@vendor/cusodede/yii2-permissions/migrations

```

список названий таблиц, создаваемых миграцией, можно посмотреть в файле `migrations/m000000_000000_sys_permissions.php`. Само собой, эту миграцию нужно выполнять только для новых проектов, для текущих, если эти таблицы были созданы ранее, миграцию применять не нужно.

Конфиги
=======

[](#конфиги)

Вот вам пример конфига по умолчанию с описаниями параметров:

```
return [
    // ...
    'modules' => [
        'permissions' => [
            'class' => cusodede\permissions\PermissionsModule::class,
            'params' => [
                'cache' => null, /* Собственный компонент кеширования, который будет использоваться классом, null для кеша Yii. */
                'viewPath' => [
                    'permissions' => '@vendor/cusodede/yii2-permissions/src/views/permissions', /* Путь к кастомным шаблонам для управления доступами */
                    'permissions-collections' => '@vendor/cusodede/yii2-permissions/src/views/permissions-collections' /* Путь к кастомным шаблонам для управления коллекциями доступов */
                ],
                'userIdentityClass' => Yii::$app->user->identityClass, /* Имя класса (либо замыкание, это имя возвращающее), определяющего identity пользователя. */
                'userCurrentIdentity' => Yii::$app->user->identity, /* Экземпляр класса, идентифицирующий сущность текущего пользователя */
                'controllerDirs' => [, /* Перечисление каталогов контроллеров, которые а) должны появиться в соответствующих настройках доступов; б) см. issue #1 Формат: 'путь_к_каталогу' => 'модуль_контроллера. Примеры ниже. '*/
                    /*
                     * '@app/controllers' => null, # для контроллеров, загружаемых приложением, модуль не указывается
                     * '@app/modules/api/controllers' => 'api', # для каталога с контроллерами модуля указываем id модуля
                     * '@vendor/cusodede/yii2-permissions/src/controllers' => '@permissions', # если id модуля указан через @, то модуль не будет загружаться при инициализации контроллеров (для получения списка действий)
                    */
                ],
                'ignorePaths' => [/* Игнорируемые пути. Поддерживаются файловые маски, например: */
                    '@app/controllers/ignored_dir/*',//ignore by directory path
                    '@app/controllers/IgnoredController.php',//ignore by file path
                ],
                'basicActionInput' => false,/* true: включение простого поля ввода имени действия в редакторе привилегий, false: включить выпадающий список действий выбранного контроллера*/
                'enablePathWarnFlag' => true, /*false: отключает проверку и вывод флага Permissions::WARN_NO_PATH, требующую инстанцирования контроллеров */
                'grantAll' => [1],/* id пользователей, которые будут получать все привилегии */
                'grant' => [/* перечисление прямых назначений привилегий в формате user_id => [список получаемых привилегий]. Пример ниже. */
                    /*
                     * 1 => ['login_as_another_user', 'some_other_permission']
                     */
                ],
                'permissions' => [/* Список именованных привилегий, создаваемых командой init-config-permissions. Примеры ниже. Привилегии контроллер-экшен-etc в этой конфигурации не поддерживаются. */
                    /*
                     * 'system' => [
                     *      'comment' => 'Разрешение на доступ к системным параметрам',
                     * ],
                     * 'login_as_another_user' => [
                     *      'comment' => 'Разрешение авторизоваться под другим пользователем',
                     * ]
                     */
                ]
            ]
        ]
    ]
    // ...
]
```

Команды модуля
==============

[](#команды-модуля)

TBD

Использование (модели, трейты, etc)
===================================

[](#использование-модели-трейты-etc)

TBD

Запуск локальных тестов
=======================

[](#запуск-локальных-тестов)

Скопируйте `tests/.env.example` в `tests/.env`, и измените конфигурацию соответственно вашему локальному окружению. Затем выполните команду `php vendor/bin/codecept run`.

###  Health Score

40

—

FairBetter than 87% of packages

Maintenance42

Moderate activity, may be stable

Popularity17

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity76

Established project with proven stability

 Bus Factor1

Top contributor holds 99.8% 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 ~30 days

Recently: every ~213 days

Total

41

Last Release

268d ago

PHP version history (2 changes)1.0.0PHP &gt;=8.0

1.3.0PHP &gt;=8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/76ddc43524bb32eb36568e25b6ae283bc25bb51a4572789997909092145af0f5?d=identicon)[pozitronik](/maintainers/pozitronik)

---

Top Contributors

[![pozitronik](https://avatars.githubusercontent.com/u/2357892?v=4)](https://github.com/pozitronik "pozitronik (420 commits)")[![aleksey1drozdov](https://avatars.githubusercontent.com/u/114424669?v=4)](https://github.com/aleksey1drozdov "aleksey1drozdov (1 commits)")

---

Tags

phpyii2

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/cusodede-yii2-permissions/health.svg)

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

###  Alternatives

[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[dektrium/yii2-rbac

RBAC management module for Yii2

237395.1k17](/packages/dektrium-yii2-rbac)[openeuropa/oe_authentication

Authentication against the OpenEuropa Authentication service.

17314.8k2](/packages/openeuropa-oe-authentication)

PHPackages © 2026

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