SmartERP Documentation An Ashewa Technology Solutions Platform

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#

  1. Open Settings → General Settings → Permissions.
  2. Enable Two-factor Authentication.
  3. Set enforcement policy: Mandatory for all Employees and Contractors.
  4. 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#

  1. Log into your SmartERP instance at https://smarterp.et/odoo.
  2. Open the main App Switcher (grid icon in the top-left corner).
  3. Select the Settings app icon.
  4. 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#

  1. Click the New button in the top-left control panel.
  2. 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.
  3. 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 / ExceptionProbable Root CauseCorrective Action / Resolution
Access Rights Error: Operation not allowedUser 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 boundaryTarget record belongs to a company excluded by user profile.Add company to Allowed Companies or switch active company selector.
Two-Factor Authentication LockoutUser lost mobile 2FA device or time drift occurred.Reset user TOTP secret under User Preferences using administrator credentials.
Last updated: 2026-10-30