Supporting Library for Spring Security Acl with Neo4j Graph Database
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
Chart.jpg
Graph.png
LICENSE
README.md
pom.xml

README.md

spring-security-acl-neo4j

Supporting Library for Spring Security Acl with Neo4j Graph Database

Motivation

The motivation behind this project was to increase performance in Spring Security ACL, by eliminating the Bottleneck created by using traditional RDBMS as backend data store. Read this post for more information.

Design

acl_sid, acl_class, acl_object_identity and acl_entry are modelled represpectively using nodes SidNode, ClassNode, AclNode and AceNode in the following Graph.

alt tag

Testing

Testing against H2 Database and Inmemory Neo4j Test Database with dataset 200 ACL Entries (2 for each Object Identity), 3 Sids (Including logged in User Sid), 100 Classes and 100 Object Identities.

Testing was mainly focused on Retrieval and to retrieve 50 non following Object Identities with ACL Entries (2 for each Object Identity) while running four random times with an Empty Cache, following were the results.

alt tag

Feedback

Any feedback positive or negative as long as they are constructive can be sent to Shazin