Ensuring the security and proper functioning of your iVendNext system relies heavily on the management of user privileges and access control. Defining who can access what parts of the system and what actions they can perform is fundamental to maintaining data integrity and operational efficiency. This article provides a comprehensive guide to understanding administrator privileges and the various mechanisms available in iVendNext to control user access effectively.
The Administrator in iVendNext holds the highest level of authority within the system, surpassing even the System Manager in terms of permissions. The Administrator role is designed to ensure the overall functioning of the iVendNext system meets the organization's needs and has unrestricted access to all features and settings.
It's crucial to understand that the availability and management of the Administrator role differ based on how your iVendNext account is hosted.
Cloud-Hosted Accounts: If your iVendNext account is hosted in the cloud by the provider, you will not have direct access as an Administrator. This is because the provider manages upgrades and maintains the backend infrastructure for all cloud-hosted accounts. For security reasons and to ensure seamless upgrades, they reserve the administrator login credentials. In most cases with cloud-hosted accounts, multiple customer accounts may reside on a single server, further necessitating this security measure. An exception might occur if you have a very large number of users and your account is exclusively hosted on a dedicated server.
Self-Hosted (On-Premises) Accounts: For organizations that choose to host iVendNext on their own servers, the account user retains the administrator credentials. This provides full control over the system's configuration and management.
iVendNext provides a mechanism to define different User Types, which play a significant role in managing access control by determining the scope of a user's system interaction. This is particularly useful for organizations with a large number of employees where not everyone requires access to all modules and documents.
iVendNext includes several default User Types:
System User: This user type can access both the main system interface (the "desk") and the website portal.
Website User: This user type has access only to the website portal.
For scenarios where users need access to only specific documents within particular modules, iVendNext allows the creation of non-standard user types. A prime example provided is the 'Employee Self Service' user type, designed for employees who primarily need to record daily attendance or apply for leave.
To configure a non-standard user type:
Navigate to Users > User Type.
Create a new User Type.
For the non-standard user type, you will need to select a Custom Role, specify the documents on which user permissions should be applied, and identify the fieldname of the user. For instance, with the 'Employee Self Service' type, the "Apply User Permission on" field can be set to "Employee," linking to the employee's User ID.
By configuring this, a user with the 'Employee Self Service' type will only be able to view documents where their respective employee ID is linked. For example, they can only see their own salary slip.
When defining a non-standard user type like 'Employee Self Service', you can further control access at the document type level.
You can list specific doctypes that users with this type can access.
You can also define "Select Permissions Only" for certain document types. This means users can view records of these document types but will not be able to create new ones.
Beyond User Types, iVendNext employs a robust Role-Based Permissions system. Roles define a set of permissions that can be assigned to users. This allows for granular control over what actions users can perform within the system.
When Two-Factor Authentication (2FA) is activated in iVendNext, it is initially enabled for the "All" role. This means that by default, all users, including those with Administrator privileges (in self-hosted scenarios), will be required to use a second factor for authentication.
While 2FA is initially applied to all roles, you can customize this to enforce 2FA only for specific roles.
Navigate to Users > Role.
Select the "All" role.
To restrict 2FA to specific roles, uncheck the "Two Factor Authentication" checkbox for the "All" role and click "Save".
Then, open the specific roles for which you want to require 2FA and check the "Two Factor Authentication" checkbox. Click "Save".
This flexibility allows you to implement stricter security measures for roles that handle sensitive data or critical system functions.
The Role Permission Manager is a central tool for defining the permissions associated with each role. This includes specifying which documents users with a particular role can access and what operations they can perform (e.g., read, write, create, delete). While the sources don't provide explicit steps on using the Role Permission Manager, it is mentioned as a related topic.
In addition to role-based permissions, iVendNext also allows for setting User Permissions. These are specific permissions granted directly to individual users, which can override or supplement the permissions they inherit from their assigned roles.
iVendNext also provides control over access to specific pages and reports based on roles. This ensures that users only have access to the information and functionalities relevant to their responsibilities.
As mentioned earlier, enabling Two-Factor Authentication (2FA) adds an extra layer of security to your iVendNext accounts. Even if a user's password is compromised, an attacker would still need the second authentication factor to gain access.
The initial activation of 2FA for your iVendNext site is done through the command line:
bench --site [sitename] set-config enable_two_factor_auth true
After activation, you need to configure the preferred method of OTP (One-Time Password) validation in System Settings > Login.
You can choose between:
OTP App: Uses a Time-based One-time Password (TOTP) generated by an authenticator app on your smartphone (e.g., Google Authenticator, Authy).
Email/SMS: Uses a Hash-based One-time Password (HOTP) sent to the user's registered email or phone number.
When a new user logs in for the first time after 2FA with OTP App is enabled, they will receive an email with a link containing a QR code.
The user opens the authenticator app on their phone.
They scan the QR code from the email link.
The authenticator app will then generate a time-based OTP, which the user needs to enter on the iVendNext login screen.
If you choose to use Email/SMS for 2FA, ensure that your outgoing email account settings and SMS settings are correctly configured in iVendNext. Incorrect settings will prevent users from receiving the OTPs. These settings can be found within the System Settings.
If you encounter issues logging in with 2FA, the most common reason is a time synchronization problem. iVendNext uses a TOTP-based algorithm, which relies on the system time of both your iVendNext server and the device running the authenticator app. Ensure that the time on both devices is the same.
Effective management of administrator privileges and user access control is crucial for maintaining a secure and well-functioning iVendNext environment. By understanding the different user types, leveraging roles and permissions, and implementing Two-Factor Authentication, you can establish a robust security framework tailored to your organization's specific needs. Remember to carefully consider the level of access required for each user and role, and to regularly review and update these settings as your organization evolves.