Two-Factor Authentication (2FA) and Session Governance
Enforcing mandatory Time-Based One-Time Password (TOTP) 2FA, session timeout limits, brute-force lockouts, and password policies.
1. Overview & Business Value#
This comprehensive operational guide details the architecture, business workflows, configuration parameters, and execution steps for Two-Factor Authentication (2FA) and Session Governance within SmartERP.
Two-Factor Authentication (2FA) provides the essential identity security layer preventing account takeover from compromised passwords.
Enforcing Mandatory 2FA#
- Open Settings → General Settings → Permissions.
- Enable Two-factor Authentication.
- Set enforcement policy: Mandatory for all Employees and Contractors.
- Users scan QR code using Google Authenticator, Microsoft Authenticator, or FreeOTP upon next login.
{screenshot:two-factor-authentication-and-session-security-overview-dashboard}
2. Prerequisites & Security Access Groups#
- Required Modules:
base, web, smarterp_security - Security Groups:
Enterprise Security Officer(Technical ID:base.group_user)Security Administrator(Technical ID:base.group_system)
- Master Data Dependencies: Established security group hierarchy, defined multi-company boundaries, and configured access control lists (
ir.model.access.csv).
3. Step-by-Step Configuration & Execution#
Step 1: Navigating to the Module Interface#
- Log into your SmartERP instance at
https://smarterp.et/odoo. - Open the main App Switcher (grid icon in the top-left corner).
- Select the Settings app icon.
- From the top navigation bar, open Users & Companies → Users / Groups / Record Rules.
{screenshot:two-factor-authentication-and-session-security-app-switcher-navigation}
Step 2: Creating and Parameterizing Records#
- Click the New button in the top-left control panel.
- Complete the mandatory fields in the security form:
- Rule Name (Mandatory): Descriptive identifier for security rule.
- Target Model (Mandatory): Underlying data model subject to access control.
- Domain Filter (Mandatory): Logical Python domain expression enforcing row-level restriction.
- Configure optional parameters: group assignment, global rule flags, and active state.
{screenshot:two-factor-authentication-and-session-security-record-creation-form}
Step 3: Validating and Processing Transactions#
- Execution & Validation: Switch user context to test persona and verify query behavior.
- Log Verification: Confirm that restricted records are omitted from list and search views.
{screenshot:two-factor-authentication-and-session-security-transaction-processing-state}
4. Advanced Configuration Points#
- Automated Actions & Scheduled Tasks (Crons):
Security: Audit log archival(base.ir_cron_audit_archive)Security: Expire dormant sessions(base.ir_cron_session_expire)
- Custom Print Templates & Reports:
- Role-Based Access Control (RBAC) Security Matrix
- System Security & User Activity Audit Dossier
- Multi-Company Rules: Record-level security isolation under Company 1 (
Ashewa Technology Solutions S.C.).
5. Comprehensive Troubleshooting Matrix#
| Error Symptom / Exception | Probable Root Cause | Corrective Action / Resolution |
|---|---|---|
Access Rights Error: Operation not allowed | User lacks required CRUD permission in ir.model.access.csv. | Assign user to the corresponding operational security group under Settings → Users. |
Record Rule Access Denied: Document outside company boundary | Target record belongs to a company excluded by user profile. | Add company to Allowed Companies or switch active company selector. |
Two-Factor Authentication Lockout | User lost mobile 2FA device or time drift occurred. | Reset user TOTP secret under User Preferences using administrator credentials. |