Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support PHP-Casbin as the authorization backend to provide ACL, RBAC, ABAC at the same time #118

Open
veotax opened this issue Jun 29, 2019 · 2 comments

Comments

@veotax
Copy link

veotax commented Jun 29, 2019

PHP-Casbin is an authorization library that supports models like ACL, RBAC, ABAC.

Related to RBAC, casbin has several advantages:

  1. roles can be cascaded, aka roles can have roles.
  2. support resource roles, so users have their roles and resource have their roles too. role = group here.
  3. the permission assignments (or policy in casbin's language) can be persisted in files or database.
  4. multiple models like ACL, BLP, RBAC, ABAC, RESTful are supported.

And you can even customize your own access control model, for example, mix RBAC and ABAC together by using roles and attributes at the same time. It's very flexible.

I saw there are some requirements for RBAC like getting role list and permission rule, and I think PHP-Casbin is a good choice to solve them. What do you think? I think we can use PHP-Casbin as a backend for this project. Thanks.

@abiusx
Copy link
Contributor

abiusx commented Jul 1, 2019 via email

@veotax
Copy link
Author

veotax commented Jul 6, 2019

It has performance data here: https://casbin.org/docs/en/benchmark , however it's in Go. I believe PHP will be a little slower as it's a dynamic language.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants