PHP code example of gozoro / yii2-rbac-console

1. Go to this page and download the library: Download gozoro/yii2-rbac-console library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

gozoro / yii2-rbac-console example snippets



namespace app\commands;


class RbacController extends \gozoro\yii2\rbac\console\RbacController;
{
	public function findIdentityByUsername($username)
	{
		//TODO:: Return an instance of the class with interface \yii\web\Identity

		// example:
		//return UserIdentity::find()->where(['username'=>$username])->one();
	}

	public function findIdentityById($userId)
	{
		//TODO:: Return an instance of the class with interface \yii\web\Identity

		// example:
		//return UserIdentity::find()->where(['id'=>$userId])->one();
	}
}


 return [
 	// Permission list
 	'permissions' =>[
 		'read' => 'permissions for read something',   // permission_name => description
    	'write' => 'permissions for write something', // permission_name => description

		'permission_master' => $permision, // permission_name => permission object
		'permission_slave' => [ // permission_name => permission as array
			'name' => ...,
			'description' => ...,
			'data' => ...,
		], 
 	],
 
	// Role list
 	'roles' => [
 		'role_admin' => 'Administrator role', // role_name => description
 		'role_manager' => 'Manager role',     // role_name => description
		'role_viewer' => $role, // role_name => role_object
		'role_something' => [ // role_name => role as array
			'name' => ...,
			'description' => ...,
			'data' => ...,
		],

 	],
 
	// Rule list
	'rules' => [
		\WriteRule:class => ['write'], // rule for permission "write"
		$rule => ['write', 'read'], // rule object for permissions "write" and "read"
	],
 
     // Mapping roles to permissions
	'access' => [
		'permission_master' => ['permission_slave'],
		'role_admin' => ['read', 'write'], // array of permissions
		'role_manager' => ['read', 'permission_master'],
	],
];