Project:Tool Access Control/ACNet: Difference between revisions
From London Hackspace Wiki
(Re-factored the page a bit, added todo list) |
|||
Line 6: | Line 6: | ||
* [[#AC_Server|ACServer]] - The server stores the authentication information and pulls membership information from Turing over JSON and stores is at a SQLite DB | * [[#AC_Server|ACServer]] - The server stores the authentication information and pulls membership information from Turing over JSON and stores is at a SQLite DB | ||
* [[#Membership_DB|Membership DB]] - Secured storage of membership data. | * [[#Membership_DB|Membership DB]] - Secured storage of membership data. | ||
== TODO == | |||
* Add a secondary acnode and test multiple acnode functionality (Sol) | |||
* Figure out a strategy of syncing the membership database to the local access database (currently manual) | |||
* Move the acserver to a separate VM running on the server downstairs (tgreer + mentar) | |||
* Code a basic web ui for adding tools/maintainers/nodes | |||
== System diagram == | == System diagram == | ||
Line 42: | Line 49: | ||
</graphviz> | </graphviz> | ||
== AC Node == | === AC Node === | ||
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 === | ||
2 versions | 2 versions | ||
Python Flask implementation started by [[User:ms7821|ms7821]] can be located [https://github.com/londonhackspace/ACNode here] further improved by [[User:asoko|asoko]] | Python Flask implementation started by [[User:ms7821|ms7821]] can be located [https://github.com/londonhackspace/ACNode here] further improved by [[User:asoko|asoko]] | ||
Line 54: | Line 61: | ||
For testing it's installed on babbage port 1234 | For testing it's installed on babbage port 1234 | ||
== Membership DB == | === 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 01:09, 11 July 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.
TODO
- Add a secondary acnode and test multiple acnode functionality (Sol)
- Figure out a strategy of syncing the membership database to the local access database (currently manual)
- Move the acserver to a separate VM running on the server downstairs (tgreer + mentar)
- Code a basic web ui for adding tools/maintainers/nodes
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 proposed (and built) by Solexious Link
AC Server
2 versions Python Flask implementation started by ms7821 can be located here further improved by asoko
PHP Code Igniter implementation developed by mentar and Oskar located here
Usage: curl http://[server]:[port]/[node_id]/card/[card_id]
For testing it's installed on babbage port 1234
Membership DB
Running on Turing VM slice (hosted outside the space as it has personal data). Accessed in JSON format.