According to the OrientDB's website:
OrientDB is a new Open Source NoSQL DBMS born with the best features of all the others. It's written in Java and it's amazing fast: can store up to 150,000 records per second on common hardware. Even if it's Document based database the relationships are managed as in Graph Databases with direct connections among records. You can travere entire or part of trees and graphs of records in few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and support the SQL between the query languages. Thank to the SQL layer it's straightforward to use it for people skilled in Relational world.
Download
Both Realms are hosted on Gitorious, here.
To clone the Tomcat 6 Realm, run
git clone git://gitorious.org/tomcat-orientdb-realm/tomcat6-orientdb-realm.git
To clone the Tomcat 7 Realm, run
git clone git://gitorious.org/tomcat-orientdb-realm/tomcat7-orientdb-realm.git
Compilation
Compilation can be made with Maven. Run:
mvn clean package
Note for the Tomcat 6 Realm: If org.apache.tomcat:tomcat-catalina:jar:6.0.32
and org.apache.tomcat:tomcat-juli:jar:6.0.32
are missing, go into the dependencies folder and run:
mvn install:install-file -DgroupId=org.apache.tomcat -DartifactId=tomcat-catalina -Dversion=6.0.32 -Dpackaging=jar -Dfile=catalina.jar
and
mvn install:install-file -DgroupId=org.apache.tomcat -DartifactId=tomcat-juli -Dversion=6.0.32 -Dpackaging=jar -Dfile=tomcat-juli.jar
and then re-run
mvn clean package
Installation
Extract all the jars archived in the lib folder of the newly created target/tomcat[6|7]orientdb-realm<version>-bin.zip
into your Tomcat's lib directory.
Configuration
The realm's attributes are:
- orientHost: The host where the OrientDB is running
- orientHostPort: The port on the host where the OrientDB is running
- orientDbName: The database containing the users' class (table)
- orientUsername: The username to use to connect to the database
- orientPassword: The password to use to connect to the database
- userClass: The OrientDB class that contains the users
- passwordProperty: The property of the users' class that contains the passwords
- rolesProperty: The property of the users' class that contains the roles
Example:
<Realm className="ca.inocybe.tomcat.OrientDBRealm" orientHost="myorienthost.com" orientHostPort="2424" orientDbName="database" orientUsername="admin" orientPassword="password" userClass="users" passwordProperty="password" rolesProperty="groups" />
Bugs, questions and feedback
Contact jonathan.tellier@gmail.com