casbin/yii-adapter Use Casbin in Yii2 PHP Framework, Casbin is a powerful and efficient open-source access control library.

Yii-Casbin

  1. It is worth mentioning that we now recommend Yii-Permission.
  2. Installation
  3. Usage
  4. Define your own model.conf
  5. Learning Casbin

Build Status Coverage Status Latest Stable Version Total Downloads License

It is worth mentioning that we now recommend Yii-Permission.

Use Casbin in Yii 2.0 PHP Framework.

Installation

Getting Composer package

Require this package in the composer.json of your Yii 2.0 project. This will download the package.

composer require casbin/yii-adapter
Configuring application

To use this extension, you have to configure the Casbin class in your application configuration:

return [
    //....
    'components' => [
        'casbin' => [
            'class' => '\CasbinAdapter\Yii\Casbin',
            
            /*
             * Yii-casbin model setting.
             */
            'model' => [
                // Available Settings: "file", "text"
                'config_type' => 'file',
                'config_file_path' => '/path/to/casbin-model.conf',
                'config_text' => '',
            ],

            // Yii-casbin adapter .
            'adapter' => '\CasbinAdapter\Yii\Adapter',

            /*
             * Yii-casbin database setting.
             */
            'database' => [
                // Database connection for following tables.
                'connection' => '',
                // CasbinRule tables and model.
                'casbin_rules_table' => '{{%casbin_rule}}',
            ],
        ],
    ]
];

Usage

This provides the basic access to Casbin via the casbin application component:


$casbin = \Yii::$app->casbin;

$sub = 'alice'; // the user that wants to access a resource.
$obj = 'data1'; // the resource that is going to be accessed.
$act = 'read'; // the operation that the user performs on the resource.

if (true === $casbin->enforce($sub, $obj, $act)) {
    // permit alice to read data1
} else {
    // deny the request, show an error
}

Define your own model.conf

Supported models.

Learning Casbin

You can find the full documentation of Casbin on the website.

1 0
1 follower
3 210 downloads
Yii Version: 2.0
License: Apache-2.0
Category: Security
Developed by: Foufou
Created on: Jan 6, 2019
Last updated: 5 years ago
Packagist Profile
Github Repository

Related Extensions