Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A PHP extension for Casbin, implemented by C++

License

NotificationsYou must be signed in to change notification settings

php-casbin/casbin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Casbin is used to build Casbin-cpp into a PHP dynamic library via PHP-CPP.

Installation

This application needs to be compiled, and also relies on the PHP-CPP library, so you will need requirements:

Install extension

$ git clone https://github.com/php-casbin/casbin.git$cd casbin$ make$ make library$ sudo make install

To get rid of intermediate files generated during building of library:

$ make clean

Usage

Get started

New a Casbin enforcer with a model file and a policy file:

useCasbin\Enforcer;$e =newEnforcer("path/to/model.conf","path/to/policy.csv");

Add an enforcement hook into your code right before the access happens:

$params = ["alice",// the user that wants to access a resource."data1",// the resource that is going to be accessed."read"// the operation that the user performs on the resource.]if ($e->enforce($params) ===true) {// permit alice to read data1} else {// deny the request, show an error}

Using Enforcer Api

It provides a very rich api to facilitate various operations on the Policy:

Gets all roles:

$e->getAllRoles();

Gets all the authorization rules in the policy.:

$e->getPolicy();

Gets the roles that a user has.

$e->getRolesForUser('eve');

Gets the users that has a role.

$e->getUsersForRole('writer');

Determines whether a user has a role.

$e->hasRoleForUser('eve','writer');

Adds a role for a user.

$e->addRoleForUser('eve','writer');

Adds a permission for a user or role.

// to user$e->addPermissionForUser('eve', ['articles','read']);// to role$e->addPermissionForUser('writer', ['articles','edit']);

Deletes a role for a user.

$e->deleteRoleForUser('eve','writer');

Deletes all roles for a user.

$e->deleteRolesForUser('eve');

Deletes a role.

$e->deleteRole('writer');

Deletes a permission.

$e->deletePermission(['articles','read']);

Deletes a permission for a user or role.

$e->deletePermissionForUser('eve', ['articles','read']);

Deletes permissions for a user or role.

// to user$e->deletePermissionsForUser('eve');// to role$e->deletePermissionsForUser('writer');

Gets permissions for a user or role.

$e->getPermissionsForUser('eve');

Determines whether a user has a permission.

$e->hasPermissionForUser('eve', ['articles','read']);

SeeCasbin API for more APIs.

Thinks

Casbin in Laravel. You can find the full documentation of Casbinon the website.

License

This project is licensed under theApache 2.0 license.

About

A PHP extension for Casbin, implemented by C++

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp