DHIS User Access

From IHRIS Wiki

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


This user access mechansim is implemented by the 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: <source lang='xml'>

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

</source>

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.