DHIS User Access

The is an authentication mechanism which authenticates users against the DHIS2 style authentication mechansim

This user access mechansim is implemented by the [[Class: I2CE_UserAccess_DHIS | I2CE_UserAccess_DHIS]] class.

Configuration

To use the default user authentication, you need to enable the module and set an initialization string.

Enabling the Module

To enable, just make sure you have:

<requirement name='UserAccess_DHIS'>
  <atLeast version='4.0'/>
  <lessThan version='4.1'/>
</requirement>

Initialization String

The initialization string is sent to I2CE::initialize() in the index.php as the fourth argument, $user_access_init . This string must be prefixed with the ‘’‘DHIS://’‘. What follows take any of the following formats:

  • null: The is the default value and means that we use the default tables (below) within the current database

  • a non JSON-encoded string: For example ‘dhis.’ Then this is the name of the database that the users and usersinfo tables reside in.

  • a JSON encoded string: The data to is a JSON enocode string of optional configuration value for the user access. The JSON encoded data has the following keys:

  • userDB: The name of the database where the *users and userinfo tables lie

  • passTable: An alternate table to use instead of *users . If set, it does not use the value of userDB

  • detailTable: An alternate table to use instead of *userinfo If set, it does not use the value of userDB

  • logTable: An alternate table to use instead of *user_log_dhis

  • accessTable: An alternate table to use instead if *access_dhis

For example:

DHIS://dhis_database_name

would be a minimal initialization string needed to authenticate against.

Database Structure

It uses the following tables in your database:

  • access_dhis. The table which associates a user’s id to its role. It has the following columns:

  • *user: int(11)

  • *role: varchar(255)

  • users The list of all user’s known to DHIS and the iHRIS Suite. It has the following columsn:

  • *id: int(11)

  • *username: varchar(20)

  • *password: varchar(50)

  • userinfo The details all user’s known to DHIS and the iHRIS Suite. It has the following columns:

  • *id: int(11)

  • *firstname: varchar

  • *lastname: varchar

  • *email: varchar

  • *phone: varchar

In addition, the table user_log_dhis keeps track of the user activity.