by casbin

casbin / beego-authz

Beego's RBAC & ABAC Authorization middleware based on Casbin

209 Stars 11 Forks Last release: Not found Apache License 2.0 38 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

beego-authz Build Status Coverage Status GoDoc

is an authorization middleware for Beego. It provides authorization like ACL, RBAC, ABAC based on Casbin:


, you can control who can access what resource via which method for your Beego app.

Get Started

Step 1: edit the policy

Modify the Casbin model: authz_model.conf and policy: authz_policy.csv as you want. You may need to learn Casbin's basics to know how to edit these files. The policy means that the user

can access
. The similar way applies to user
has the role
, which is permitted to access any resources under
with any action. For more advanced usage of Casbin (like database support, policy language grammar, etc), please refer to Casbin:

Step 2: integrate with Beego

Insert the Casbin authorizer as a Beego filter.

beego.InsertFilter("*", beego.BeforeRouter, authz.NewAuthorizer(casbin.NewEnforcer("authz_model.conf", "authz_policy.csv")))

Step 3: setup with authentication

Make sure you already have an authentication mechanism, so you know who is accessing, like a username. Modify the GetUserName() method to let Casbin know the current authenticated username.

Getting Help


This project is under Apache 2.0 License. See the LICENSE file for the full license text.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.