middleware-acl Access Control Library RBAC casbin
Switch branches/tags
Nothing to show
Clone or download
Latest commit 082de25 Nov 13, 2017
Permalink
Failed to load latest commit information.
docker First commit! Nov 11, 2017
src/middleware First commit! Nov 11, 2017
.gitignore First commit! Nov 11, 2017
CHANGELOG.md First commit! Nov 11, 2017
LICENSE Include the license Nov 14, 2017
README.md First commit! Nov 11, 2017
docker-compose.yml First commit! Nov 11, 2017
glide.yaml First commit! Nov 11, 2017
init.sh First commit! Nov 11, 2017

README.md

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