Wiki Spaces

Documentation
Projects
Resources

Get Help from Others

Q&A: [Ask OpenMRS]
Discussion: OpenMRS Talk »
Real-Time: IRC Chat

Home

Page tree
Skip to end of metadata
Go to start of metadata

Introduction


The collective "OpenMRS ID" refers to this system of user management used by the OpenMRS community. An individual user in the system (a person with a username and password) is said to have a single "OpenMRS ID".


The ID subsystem is formed by:

  • OpenLDAP: the data storage for all OpenMRS ID data for verified users (after checking email).
  • ID Dashboard: web application that facilitates creation of new OpenMRS IDs, profile editing. Information is retrieved from cache in MongoDB, or loaded from OpenLDAP if not on cache.
    • Formage: admin screen in ID dashboard to modify users
  • Crowd:  Provides user management for Atlassian tools. It works as a bridge between LDAP and those applications.


Jira, Crowd and Wiki have a local/internal user to fix connections with Crowd/LDAP. They also an internal captcha to catch users with multiple failure attempts.


ID subsystem



LDAP Objects

LDAP is a hierarchical data storage.

The top level node is 'dc=openmrs,dc=org'. 

All users belong to 'ou=users,dc=openmrs,dc=org', what means that users is an Organization Unit (just a child node like any other) of node 'dc=openmrs,dc=org'.

A username 'jane_doe' is represented as "uid=jane_doe,ou=users,dc=openmrs,dc=org" , which is 'user ID jane_doe' child node of node 'ou=users' of node 'dc=openmrs,dc=org'.


Full Hierarchy


LDAP Hierarchy



  • No labels

1 Comment

  1. If one day someone wants to know how I recreated the data in OpenLDAP, the whole history is here: ITSM-4188 - Getting issue details... STATUS


    Also, https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/tree/master/files/ldap-stg will get you a local ldap with the same structure as production.