Skip to Content

User Manager

The User Manager module is responsible for managing user accounts and authentication throughout the application. It creates and maintains the User.db database, which stores all registered users, their credentials, privileges, and preferences.

The module also handles login and logout flows, including support for RFID-based authentication alongside traditional username/password.

Architecture

User Manager ModuleAuthentication, authorization, and user lifecycleUser LoginUsername + passwordRFID TagContactless entryAdmin ActionsCRUD operationsUser ManagerValidates credentialsManages sessionsHandles CRUD opsAssigns privilegesUser.dbUser recordsPrivilegesRFID mappingsLanguages

Core Operations

The User Manager performs five primary operations on the user database:

Create User CRUD

Registers a new user with credentials, contact info, group, and default language

Edit User CRUD

Updates the data of an existing user record

Delete User CRUD

Removes a user from the database

Change Password SECURITY

Updates the password for an existing user

Assign Privileges AUTH

Configures access levels — see Privilege Management

In addition to standard credentials, the system supports RFID tag-based login, allowing operators to authenticate contactlessly using physical tokens.

Interface Messages

The following messages can be sent to the User Manager from other modules:

Authentication

Log-In Msg AUTH

Initiates the login flow for a user (credentials or RFID)

Log-Out Msg AUTH

Ends the current user session

User Management

Create User Msg CRUD

Creates a user with username, first/last name, password, user group, contact info, and default language

Update User Details Msg CRUD

Modifies the details of an existing user

Update Password Msg SECURITY

Updates a user’s password

Delete User Msg CRUD

Removes a user from the system

Configuration

Add Privilege Tags Msg AUTH

Adds privilege tags to the database for access control

Set Database Path MT Msg SYSTEM

Changes the path to User.db — useful for placing the database on an internal network

Last updated on