This section covers user management, roles, and permissions for Contao and associated analytics tools.
Overview
Contao is a powerful open-source CMS originally developed in Germany, featuring an advanced user and permission management system. The platform distinguishes between two types of users: backend users (administrators and editors who manage content) and frontend users (website visitors with authenticated access). This dual-user system provides flexibility for both content management and membership-based websites.
Contao's permission system is highly granular, allowing administrators to control access to specific modules, content elements, page trees, and even individual database fields. Understanding this sophisticated access control system is essential for maintaining security and efficiency in your Contao installation.
Platform User Management
- Roles & Permissions - Understanding user roles
- Adding & Removing Users - User administration
User Types and Roles
Backend Users (Administrative Access)
Backend users manage the Contao CMS and are divided into two categories:
Administrators
- Full access to all backend modules and functions
- Can create, modify, and delete all users and groups
- Access to system settings and maintenance tools
- Can install and configure extensions
- Manage file system and database operations
- Full control over all page hierarchies
- No permission restrictions apply
Regular Backend Users
- Access controlled through user groups
- Permissions defined at granular level
- Can be restricted to specific page trees
- Module access can be limited
- File operations can be restricted
- May have read-only access to certain areas
Frontend Users (Website Members)
Frontend users are website visitors with authenticated access:
- Used for member areas and protected content
- Managed through frontend member groups
- Access controlled by page protection settings
- Can have personalized content experiences
- Typically cannot access backend
User Groups and Permissions
Backend User Groups
Contao uses user groups to manage backend permissions efficiently:
Content Editor Group
- Access to content management modules
- Can edit assigned page trees
- Upload and manage media files
- Create and edit articles
- Cannot access system settings
- Cannot manage users or extensions
Design Editor Group
- Access to theme and layout management
- Can modify templates and stylesheets
- Manage page layouts and modules
- Limited or no content editing access
- Cannot access system configuration
SEO Manager Group
- Access to page settings and metadata
- Can modify page titles, descriptions, and URLs
- View and edit robot instructions
- Access to analytics integration settings
- Limited content modification rights
Developer Group
- Access to templates and custom code
- Can modify system configuration
- Install and configure extensions
- Database access through backend
- File system management
Permission Categories
Contao permissions are organized into several categories:
- Allowed Modules: Which backend sections the user can access
- Pagemounts: Which page trees the user can see and edit
- File Mounts: Which directories in the file manager are accessible
- Forms: Which forms can be managed
- Image Sizes: Which image size configurations can be used
- Allowed Fields: Which database fields can be edited
- Excluded Fields: Which fields are explicitly blocked
Accessing User Management
Backend User Management
- Log in to Contao backend as an administrator
- Navigate to System > User Management
- Or access through System > Users in the navigation
- Select either:
- Users: Manage individual backend accounts
- User Groups: Manage group permissions
- Members: Manage frontend user accounts
- Member Groups: Manage frontend access groups
User Management Interface
The interface provides:
- User List: View all backend users with their groups
- Filter Options: Search and filter users
- Bulk Actions: Enable/disable multiple users at once
- Group Assignment: Visual indicators of user group membership
- Last Login: Track user activity
- Account Status: See enabled/disabled accounts
Adding and Inviting Users
Creating Backend Users
- Navigate to System > Users
- Click New button to create a user
- Fill in the Account Settings:
- Username (unique identifier)
- Name (full name)
- Email address
- Password (must meet complexity requirements)
- Language preference
- Assign to User Group(s):
- Check appropriate groups
- Multiple group membership is supported
- Permissions are cumulative
- Configure Account Settings:
- Check "Administrator" for full access (bypasses group permissions)
- Set account active/inactive status
- Configure login period if needed
- Set Additional Options:
- Home directory for file manager
- Default page for backend start
- Email notification settings
- Click Save to create the account
Creating Frontend Members
- Navigate to System > Members
- Click New to add a member
- Enter member information:
- Username and email
- Password
- Personal information (name, address, etc.)
- Group assignment
- Configure member settings:
- Active/inactive status
- Login settings
- Account expiration (optional)
- Save the member account
User Invitation Process
Contao does not have a built-in automated invitation system, but you can implement one:
- Create the user account with a temporary password
- Use the "Disable login until" feature for security
- Send credentials through secure communication
- Require password change on first login
- Enable account after user confirms receipt
Role Assignment and Management
Assigning Users to Groups
- Open the user account in System > Users
- Scroll to User Groups section
- Check boxes for appropriate groups
- Users inherit permissions from all assigned groups
- Permissions are cumulative (most permissive wins)
- Save changes
Managing Group Permissions
- Navigate to System > User Groups
- Select the group to configure
- Configure Allowed Modules:
- Check modules users should access
- Common modules: Content, Design, Files, Accounts
- Set Pagemounts (allowed page trees):
- Select root pages users can access
- Users see only these page hierarchies
- Configure Filemounts (file directories):
- Select accessible directories
- Restrict uploads and file management
- Set Form Permissions:
- Select which forms can be managed
- Configure Allowed Fields:
- Granularly control field-level access
- Useful for restricting sensitive settings
- Set Excluded Fields:
- Explicitly block access to specific fields
- Save group configuration
Permission Inheritance
- Permissions from multiple groups combine
- Most permissive permission applies
- Administrator status overrides all group restrictions
- Pagemounts and Filemounts are additive
- Module access is cumulative
Security Recommendations
Authentication Security
Password Requirements
- Enforce minimum 12-character passwords
- Require complexity (letters, numbers, symbols)
- Implement password expiration policies
- Prevent password reuse
- Use Contao's built-in password validation
Account Protection
- Enable automatic logout after inactivity
- Implement login failure lockout (via extension)
- Use HTTPS for all backend access
- Configure secure session management
- Set appropriate session timeout values
-
- Install 2FA extension for backend users
- Require 2FA for administrator accounts
- Provide recovery codes for users
- Document 2FA setup procedures
Access Control Best Practices
Administrator Accounts
- Limit to 2-3 trusted individuals
- Use admin status sparingly
- Create separate admin accounts (no sharing)
- Regularly audit administrator access
- Disable unused admin accounts
Backend User Security
- Use user groups instead of custom permissions
- Regularly review group memberships
- Implement principle of least privilege
- Remove access for departed team members immediately
- Monitor user login activity
File System Security
- Restrict filemounts to necessary directories
- Prevent access to system directories
- Monitor file upload activity
- Implement file type restrictions
- Use Contao's secure download feature for sensitive files
Frontend Member Security
- Use strong password requirements for members
- Implement CAPTCHA for registration
- Enable email verification for new accounts
- Configure account approval workflow
- Monitor for suspicious member activity
System Hardening
Backend Access
- Use custom backend URL (not /contao)
- Implement IP whitelist for admin accounts
- Enable Contao's maintenance mode during updates
- Configure .htaccess protection
- Use VPN for remote administration
Audit Logging
- Enable activity logging extensions
- Monitor user actions and changes
- Review logs regularly for anomalies
- Track failed login attempts
- Document security incidents
Common Issues and Solutions
Users Cannot Access Backend
Symptoms: Login fails or backend not accessible
Solutions:
- Verify account is enabled (not disabled)
- Check "Login from" and "Login until" date restrictions
- Confirm user is assigned to at least one group or is administrator
- Clear Contao cache (System > System Maintenance)
- Check .htaccess configuration
- Verify database connection
- Review error logs for specific issues
Missing Permissions or Modules
Symptoms: Users cannot see expected modules or pages
Solutions:
- Verify user group has required modules enabled
- Check pagemounts include necessary page trees
- Confirm filemounts include required directories
- Review excluded fields settings
- Remember: non-administrators need explicit permissions
- Clear cache after permission changes
- Check if user is in correct groups
Permission Conflicts
Symptoms: Unexpected access or restrictions
Solutions:
- Review all groups user belongs to
- Remember permissions are cumulative
- Administrator status overrides all restrictions
- Check for conflicting pagemounts
- Verify allowed vs. excluded fields
- Remove user from unnecessary groups
File Upload Issues
Symptoms: Users cannot upload files to specific directories
Solutions:
- Verify filemounts include target directory
- Check directory write permissions on server
- Confirm file size limits in php.ini
- Review allowed file extensions
- Check disk space availability
- Verify user has file upload permissions in group
Frontend Member Login Problems
Symptoms: Members cannot log in to protected pages
Solutions:
- Verify member account is enabled
- Check member group assignments
- Confirm page protection settings match member groups
- Clear frontend cache
- Check for browser cookie issues
- Verify member table database integrity
Analytics Tool Access
Google Analytics 4
Manage GA4 access in Admin > Account/Property Access Management:
- Administrator: Full control over account and all properties
- Editor: Can modify configurations and create/edit reports
- Analyst: Can create reports and configure shared assets, no config changes
- Viewer: Read-only access to reports and data
Best practices for GA4 access:
- Assign Viewer role by default for content editors
- Grant Editor access to marketing team members
- Limit Administrator access to 2-3 trusted individuals
- Use Google Groups for team-based access management
- Regularly review and audit user access quarterly
Google Tag Manager
Manage GTM access in Admin > User Management:
- Administrator: Full control over container and user management
- Publish: Can publish container changes to production
- Approve: Can approve changes but not publish
- Edit: Can edit tags, triggers, and variables but not approve/publish
- Read: View-only access to container configuration
GTM access workflow:
- Use Read access for stakeholders and content editors
- Grant Edit access to developers and marketers
- Limit Approve access to team leads or senior marketers
- Restrict Publish to 2-3 senior team members
- Implement container versioning and testing procedures
Meta Business Manager
Manage access in Business Settings > People:
- Admin: Full control over Business Manager and all assets
- Employee: Limited access based on assigned assets and roles
Additional Meta pixel and conversion API considerations:
- Assign asset-specific roles rather than full admin access
- Use partner access for agency relationships
- Regularly audit connected accounts and integrations
- Remove access for former employees immediately
- Document all third-party access grants
Best Practices
User Management Strategy
Principle of Least Privilege: Grant minimum required access
- Start with minimal permissions
- Add permissions incrementally as needed
- Use user groups instead of individual permissions
- Regularly review and reduce excessive permissions
Regular Access Audits: Review access quarterly
- Identify and disable inactive accounts
- Verify group memberships are still appropriate
- Confirm permission levels match current job roles
- Document audit findings and remediation actions
- Check for orphaned or duplicate accounts
Separate Accounts: Don't share login credentials
- Create individual accounts for each team member
- Avoid generic "admin" or "webmaster" accounts
- Use service accounts for automated processes
- Maintain clear accountability for all actions
- Track who made what changes
Document Access: Maintain a record of who has access to what
- Keep spreadsheet of all user accounts and groups
- Document purpose for elevated permissions
- Track when access was granted and by whom
- Include contact information for each user
- Note access expiration dates where applicable
Group Management Strategy
Standardize Groups: Create consistent group structures
- Define groups by job function, not individual needs
- Limit total number of groups (5-10 is typical)
- Document the purpose and permissions of each group
- Create naming conventions for groups
- Maintain a permission matrix
Group Permissions Review
- Review group permissions when adding new modules
- Test group permissions with test accounts
- Document permission rationale
- Update permissions as platform evolves
- Communicate changes to affected users
Onboarding New Team Members
- Identify appropriate user group(s) for their role
- Create account with minimal initial permissions
- Provide Contao training materials and documentation
- Set up temporary elevated access for training if needed
- Configure pagemounts and filemounts for their work area
- Schedule follow-up review after 30 days
- Adjust permissions based on actual needs
Offboarding Departing Team Members
- Disable account immediately upon departure notification
- Review and transfer ownership of content/pages if needed
- Change any shared passwords or access codes
- Remove from all external tool access (GA4, GTM, etc.)
- Document the access removal in audit logs
- Keep account disabled for 30-90 days before deletion
- Archive or reassign their work as appropriate
Content Workflow Management
Implement Approval Workflows
- Use Contao workflow extensions where needed
- Require peer review for critical content
- Separate content creation from publishing rights
- Maintain staging environments for testing
Version Control and Backups
- Use Contao's version control features
- Implement regular backup schedules
- Test restoration procedures
- Document rollback processes
Training and Documentation
- Create internal documentation for common tasks
- Provide role-specific training materials
- Document custom permissions and workflows
- Maintain contact list for support escalation
Frontend Member Management
Registration Process
- Implement email verification for new members
- Consider approval workflow for sensitive sites
- Use CAPTCHA to prevent automated signups
- Configure welcome emails with instructions
Member Data Management
- Comply with GDPR and privacy regulations
- Provide data export and deletion capabilities
- Implement data retention policies
- Regularly clean up inactive accounts
By implementing these user management practices, you can maintain a secure, efficient, and well-organized Contao installation while ensuring appropriate access control for your team, members, and analytics tools.