casbin / yii-adapter
Use Casbin in Yii2 PHP Framework, Casbin is a powerful and efficient open-source access control library.
Installs: 3 210
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 4
Forks: 0
Open Issues: 0
Requires
- casbin/casbin: ~1.0
- yiisoft/yii2: ~2.0.14
Requires (Dev)
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ~5.7|~6.0|~7.0
- yiisoft/yii2-app-basic: ~2.0.14
This package is auto-updated.
Last update: 2024-07-18 18:21:19 UTC
README
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
Learning Casbin
You can find the full documentation of Casbin on the website.