casbin-go-cli is a command-line tool based on Casbin (Go language), enabling you to use all of Casbin APIs in the shell.
git clone https://github.com/casbin/casbin-go-cli.git
cd casbin-go-cli go build -o casbin
| options | description | must |
|---|---|---|
-m, --model | The path of the model file or model text | y |
-p, --policy | The path of the policy file or policy text | y |
enforce | Check permissions | n |
enforceEx | Check permissions and get which policy it is | n |
Check whether Alice has read permission on data1
./casbin enforce -m "test/basic_model.conf" -p "test/basic_policy.csv" "alice" "data1" "read"
{“allow”:true,“explain”:[]}
Check whether Alice has write permission for data1 (with explanation)
./casbin enforceEx -m "test/basic_model.conf" -p "test/basic_policy.csv" "alice" "data1" "write"
{“allow”:false,“explain”:[]}
Check whether Alice has read permission on data1 in domain1 (with explanation)
./casbin enforceEx -m "test/rbac_with_domains_model.conf" -p "test/rbac_with_domains_policy.csv" "alice" "domain1" "data1" "read"
{“allow”:true,“explain”:[“admin”,“domain1”,“data1”,“read”]}