Skip to content

Latest commit

 

History

History
46 lines (34 loc) · 1.9 KB

README.md

File metadata and controls

46 lines (34 loc) · 1.9 KB

MongoDB-backed realm for Glassfish

With Mongo-Realm you can store your users credentials directly in MongoDB with other data of your applicaton. Forget about setting up separate MySQL or LDAP server only for storing users data.

Setup

  1. download mongo-realm jar and put it in your glassfish domains lib folder (i.e. $GLASSFISH_HOME/glassfish/domains/$DOMAINNAME/lib/)
  2. at the end of $GLASSFISH_HOME/glassfish/domains/$DOMAINNAME/config/login.conf file paste:
mongoRealm { 
  com.tadamski.glassfish.mongo.realm.MongoLoginModule required; 
};
  1. create realm in glassfish using asadmin tool
asadmin create-auth-realm --classname com.tadamski.glassfish.mongo.realm.MongoRealm --property jaas-context=mongoRealm $REALM_NAME
  1. configure your applicaton to use newly created realm (in most cases few lines in web.xml will be enough)

Configuration

By default:

Mongo-Realm connects to localhost on 27017 and looks for data in users database in users collection. Informations about users are stored in separate documents [one user = one document]. Each document contains login, password simple string properties and groups with array of group names user belongs to. All passwords are hashed using SHA-512 function.

Custom configuration:

Of course defaults can be overriden. Simply add properties to realm created in 3rd step of Setup.

Property name Default value
mongo.hostname localhost
mongo.port 27017
mongo.db.name users
mongo.collection.name users
login.property login
salt.property salt
password.property password
groups.property groups
hash.function SHA-512