DHIS User Access: Difference between revisions

From IHRIS Wiki
(Created page with 'The is an authentication mechanism which authenticates users against the DHIS2 style authentication mechansim This user access mechansim is implemented by the [[Class: I2CE_Us…')
 
No edit summary
 
(7 intermediate revisions by 2 users not shown)
Line 2: Line 2:




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


Line 27: Line 27:
**logTable:  An alternate table to use instead of ''user_log_dhis''
**logTable:  An alternate table to use instead of ''user_log_dhis''
**accessTable: An alternate table to use instead if ''access_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==
==Database Structure==
Line 47: Line 51:


In addition, the table '''user_log_dhis''' keeps track of the user activity.
In addition, the table '''user_log_dhis''' keeps track of the user activity.
[[Category:Developer Resources]]

Latest revision as of 20:47, 1 March 2019

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.