middleware-acl
                                
                                 middleware-acl copied to clipboard
                                
                                    middleware-acl copied to clipboard
                            
                            
                            
                        middleware-acl Access Control Library RBAC casbin
middleware-acl
Getting started
Clone the repository in folder do you prefer
cd /var/www
git clone https://github.com/luk4z7/middleware-acl
Execute the file init.sh for up the docker containers
https://github.com/luk4z7/middleware-acl for the canonical source repository
Lucas Alves 2017 (c) Middleware Access Control Library - Authorization API
           _     _     _ _                                              _
 _ __ ___ (_) __| | __| | | _____      ____ _ _ __ ___        __ _  ___| |
| '_ ` _ \| |/ _` |/ _` | |/ _ \ \ /\ / / _` | '__/ _ \_____ / _` |/ __| |
| | | | | | | (_| | (_| | |  __/\ V  V / (_| | | |  __/_____| (_| | (__| |
|_| |_| |_|_|\__,_|\__,_|_|\___| \_/\_/ \__,_|_|  \___|      \__,_|\___|_|
middleware
DOCKER
Generate new containers ? [ 1 ]
Delete all containers ?   [ 2 ]
Start new build ?         [ 3 ]
Preview the logs ?        [ 4 ]
Install dependencies ?    [ 5 ]
Update dependencies ?     [ 6 ]
First step
Start new build          [ 3 ]
Second step
Generate new containers  [ 1 ]
Preview the all logs of containers
Preview the logs         [ 4 ]
Or access the single container
docker logs api -f
docker logs mongo -f
API REST
Routers
In this examples I using jq for pretty the result, for more information view in : jq
List Role
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:6060/v1/roles | jq
Create Role and User
curl -H "Content-Type: application/json" -X POST -d '{"user":"alice", "role":"visitante"}' http://127.0.0.1:6060/v1/roles | jq
Get role and its permissions
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:6060/v1/roles/alice | jq
Update role (add permissions)
curl -H "Content-Type: application/json" -X PUT -d '{"user":"alice", "permission": "read"}' http://127.0.0.1:6060/v1/roles | jq
Delete role
curl -H "Content-Type: application/json" -X DELETE http://127.0.0.1:6060/v1/roles/administrador | jq
List user roles
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:6060/v1/users/alice/roles | jq
Remove role from user
curl -H "Content-Type: application/json" -X DELETE http://127.0.0.1:6060/v1/users/alice/roles/visitante3 | jq
Check user permission
curl -H "Content-Type: application/json" -X GET http://127.0.0.1:6060/v1/users/alice/resource/data1/permission/read | jq
Tests
Access the container
docker exec -it api bash
cd /go/src/middleware
and execute this:
./coverage.sh --html
and so, the file html is generated, only copy the file for the current directory
cp /tmp/cover314639520/coverage.html .
Access the html file inside the project folder outside the container