2017 © Pedro Peláez
 

library yii2-auth

Web UI for the authorization manager of Yii PHP framework.

image

binn/yii2-auth

Web UI for the authorization manager of Yii PHP framework.

  • Tuesday, March 15, 2016
  • by arturf
  • Repository
  • 5 Watchers
  • 5 Stars
  • 4,342 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 100 Forks
  • 0 Open issues
  • 6 Versions
  • 2 % Grown

The README.md

yii2-auth

Auth is a module for the Yii PHP framework that provides a web user interface for Yii's built-in authorization manager (\yii\rbac\BaseManager). You can read more about Yii's authorization manager in the framework documentation under Authorization., (*1)

Auth based on original code of yii-auth extension and fully rewrited for using with Yii 2. Also fork contain all original releases for Yii 1.x., (*2)

At this moment module supports only DbManager., (*3)

Demo

Coming soon., (*4)

Usage

Setup

The preferred way to install this extension is through composer., (*5)

Add, (*6)

"binn/yii2-auth": "*"

to the require section of your composer.json file., (*7)

Add module to application config and configure authManager component:, (*8)

return [
    'components' => [
        'authManager' => [
            'class' => 'auth\components\DbManager', // or 'auth\components\PhpManager'
        ],
        // ...
    ],
    'modules' => [
        'auth' => [
            'class' => 'auth\Module',
        ],
    ],
];

Please note that while the module doesn't require you to use a database, if you wish to use yii\rbac\DbManager you need it's schema (it can be found in the framework under yii\rbac\migrations)., (*9)

Configuration

Configure the module to suit your needs. Here's a list of the available configurations (with default values)., (*10)

'auth' => array(
  'userClass' => Yii::$app->user->identityClass, // the name of the user model class.
  'userIdColumn' => 'id', // the name of the user id column.
  'userNameColumn' => 'name', // the name of the user name column.
  'applicationControllers' => [], // the path to controllers files that will be using for generates permissions.
  'admin' => [], // users with full access to module.
  'accessFilterBehavior' => [], Configuration for custom access filter.
),

Checking access

When you wish to check if the current user has a certain permission you can use the User::can() method which can be access from anywhere in your application through Yii::$app like so:, (*11)

if (Yii::$app->user->can('itemName')) // itemName = name of the operation
{
  // access is allowed.
}

In order to keep your permissions dynamic you should never check for a specific role or task, instead you should always check for an operation. For more information on Yii's authorization manager refer to the framework documentation on Authorization., (*12)

Checking access using a filter

You can also use a filter to automatically check access before controller actions are called. Operations used with this filter has to be named as follows (moduleId.)controllerId.actionId, where moduleId is optional., (*13)

For example, (*14)

public function behaviors()
{
    return [
        'access' => [
            'class' => AccessControl::className(),
                'rules' => [
                    [
                        'allow' => true,
                        'actions' => ['error', 'login', 'logout'],
                    ],
                    [
                        'allow' => true,
                        'roles' => [$this->getRuleName($this->action->id)],
                    ],
                    [
                        'allow' => true,
                        'matchCallback' => function () {
                            return !Yii::$app->user->isGuest ? !empty(Yii::$app->user->identity->isAdmin) : false;
                    },
                ],
            ],
        ],
    ];
}

For more information on how filters work refer to the framework documentation on Controllers., (*15)

Versioning

Because Auth contain all versions from original library be careful with versions., (*16)

Version 1.x - for Yii 1.x Version 2.x - for Yii 2.x, (*17)

Contributing

Please, send any issues and PR only for 2.x version. For original Yii 1.x module contribute to yii-auth, (*18)

The Versions

15/03 2016

dev-master

9999999-dev

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

The Requires

 

authentication yii rbac

15/03 2016

v2.0.2-rc

2.0.2.0-RC

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

The Requires

 

authentication yii rbac

02/03 2016

v2.0.1-rc

2.0.1.0-RC

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

The Requires

 

authentication yii rbac

04/10 2014

v2.0.0-rc

2.0.0.0-RC

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

The Requires

 

authentication yii rbac

27/09 2013

1.7.0

1.7.0.0

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

The Requires

 

The Development Requires

authentication yii rbac

27/09 2013

1.6.0

1.6.0.0

Web UI for the authorization manager of Yii PHP framework.

  Sources   Download

BSD-3-Clause

ui rbac