Difference between revisions of "Project:Tool Access Control/ACNet"

From London Hackspace Wiki
Jump to navigation Jump to search
(19 intermediate revisions by the same user not shown)
Line 17: Line 17:
 
node [shape=box,style=filled,color=lightgrey];
 
node [shape=box,style=filled,color=lightgrey];
 
label = "ACServer";
 
label = "ACServer";
         sqlite [label="SQLite",shape=box];
+
         local_db [label="local db",shape=box];
 
         httpserver [label="HTTP server",shape=box];
 
         httpserver [label="HTTP server",shape=box];
         httpserver -> sqlite;
+
         httpserver -> local_db;
         sqlite -> httpserver;  
+
         local_db -> httpserver;  
 
   }
 
   }
  
Line 42: Line 42:
 
</graphviz>
 
</graphviz>
  
== AC Node ==
+
=== AC Node ===
Currently proposed  (and built) by Solexious [[Project:Tool_Access_Control/Solexious_Proposal|Link]]
+
Currently working implementation [[Project:Tool_Access_Control/ACNode-cl]]
== 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]]
 
  
Currently running on Babbage for dev purposes, will be run on a secure box after.
+
=== AC Server ===
  
=== Running ===
+
Current: PHP CI implementation developed by [[User:mentar|mentar]] and Oskar, more info [[Project:Tool_Access_Control/ACServer|ACServer]] (currently active)
Go to a shell on babbage.
 
  
Make sure it's not already running by:
+
Legacy: Python Flask implementation started by [[User:ms7821|ms7821]] can be located [https://github.com/londonhackspace/ACNode here] further improved by [[User:asoko|asoko]] (shelved)
  
<code>sudo lsof -i :1234</code>
+
=== Membership DB ===
 
 
Then:
 
 
 
<code>cd /var/www/ACNode</code>
 
 
 
<code>./start.sh</code>
 
 
 
=== Testing ===
 
As per Sol's ACNode rest spec:
 
 
 
<code>http://babbage:1234/1/card/04FF7922E40080</code>
 
 
 
== Membership DB ==
 
 
Running on Turing VM slice (hosted outside the space as it has personal data). Accessed in JSON format.
 
Running on Turing VM slice (hosted outside the space as it has personal data). Accessed in JSON format.

Revision as of 02:03, 17 May 2015

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";

       local_db [label="local db",shape=box];
       httpserver [label="HTTP server",shape=box];
       httpserver -> local_db;
       local_db -> 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 working implementation Project:Tool_Access_Control/ACNode-cl

AC Server

Current: PHP CI implementation developed by mentar and Oskar, more info ACServer (currently active)

Legacy: Python Flask implementation started by ms7821 can be located here further improved by asoko (shelved)

Membership DB

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