Project:Tool Access Control/ACNet: Difference between revisions

From London Hackspace Wiki
Line 45: Line 45:
Currently proposed  (and built) by Solexious [[Project:Tool_Access_Control/Solexious_Proposal|Link]]
Currently proposed  (and built) by Solexious [[Project:Tool_Access_Control/Solexious_Proposal|Link]]
== AC Server ==
== AC Server ==
Python Flask implementation started by [[User:ms7821|ms7821]] can be located here [https://github.com/londonhackspace/ACNode ACServer (not node)] further improved by Aaron and [[User:mentar|mentar]]
2 versions
Python Flask implementation started by [[User:ms7821|ms7821]] can be located [https://github.com/londonhackspace/ACNode here] further improved by Aaron
 
PHP Code Igniter implementation started by [[User:mentar|mentar]] located here [https://github.com/mentarus/ACServer here]


Currently running on Babbage for dev purposes, will be run on a secure box after.
Currently running on Babbage for dev purposes, will be run on a secure box after.

Revision as of 13:21, 19 March 2013

Summary

This page aims to scope out the different projects that work together as part of the Access Control Network. The main components are:

  • ACNode - The clients that sit on the tool that is being controlled and manage physical access by reading the rfid card.
  • ACServer - The server stores the authentication information and pulls membership information from Turing over JSON and stores is at a SQLite DB
  • Membership DB - Secured storage of membership data.

System diagram

<graphviz border='frame' format='png' >

digraph rfboard{
  rankdir=TD;
  size="10,5!";
  
  subgraph cluster_0 {

node [shape=box,style=filled,color=lightgrey]; label = "ACServer";

       sqlite [label="SQLite",shape=box];
       httpserver [label="HTTP server",shape=box];
       httpserver -> sqlite;
       sqlite -> httpserver; 
  }
  acnode1 [label="ACNode",shape=box];
  acnode2 [label="ACNode",shape=box];
  acnode3 [label="ACNode",shape=box];
 
  membershipdb [label="Membership DB",shape=box];


  acnode1 -> httpserver;
  acnode2 -> httpserver;
  acnode3 -> httpserver;
  httpserver -> acnode1;
  httpserver -> acnode2;
  httpserver -> acnode3;
  membershipdb-> httpserver;

} </graphviz>

AC Node

Currently proposed (and built) by Solexious Link

AC Server

2 versions Python Flask implementation started by ms7821 can be located here further improved by Aaron

PHP Code Igniter implementation started by mentar located here here

Currently running on Babbage for dev purposes, will be run on a secure box after.

Running

Go to a shell on babbage.

Make sure it's not already running by:

sudo lsof -i :1234

Then:

cd /var/www/ACNode

./start.sh

Testing

Currently only test tool active (node 1).

As per Sol's ACNode rest spec:

curl -H 'Accept: text/plain' http://babbage:1234/1/sync/

curl -H 'Accept: text/plain' http://babbage:1234/1/card/04FF7922E40080

Membership DB

Running on Turing VM slice (hosted outside the space as it has personal data). Accessed in JSON format.