middleware-acl

middleware-acl Access Control Library RBAC casbin

  • Owner: luk4z7/middleware-acl
  • Platform:
  • License:: BSD 3-Clause "New" or "Revised" License
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

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

Main metrics

Overview
Name With Ownerluk4z7/middleware-acl
Primary LanguageGo
Program languageShell (Language Count: 2)
Platform
License:BSD 3-Clause "New" or "Revised" License
所有者活动
Created At2017-11-10 21:04:36
Pushed At2017-11-14 04:49:33
Last Commit At2017-11-14 01:49:37
Release Count1
Last Release Namev1.0.0 (Posted on )
First Release Namev1.0.0 (Posted on )
用户参与
Stargazers Count166
Watchers Count3
Fork Count6
Commits Count2
Has Issues Enabled
Issues Count1
Issue Open Count1
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private