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
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