Skip to content
This repository has been archived by the owner on Nov 9, 2020. It is now read-only.

Support jCasbin as the authorization backend #29

Open
veotax opened this issue May 11, 2018 · 0 comments
Open

Support jCasbin as the authorization backend #29

veotax opened this issue May 11, 2018 · 0 comments

Comments

@veotax
Copy link

veotax commented May 11, 2018

jCasbin 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. BTW, https://github.com/vmware/dispatch already uses the Golang's Casbin. And jCasbin keeps exactly the same API and advantages as Golang Casbin.

I saw there's an Authentication and Authorization Design, it discusses about roles on users, roles on resources, tenants, RESTful. And I think jCasbin is a good choice for these requirements. And jCasbin provides more than that, including regex match, three kinds of key match, RBAC role hierarchy, ABAC, etc. What do you think? Thanks.

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

No branches or pull requests

1 participant