The CDRouter User Model
CDRouter’s user model allows teams to:
- Create individual user accounts for all team members
- Control access to the system by requiring all users to log in
- Organize configuration files, packages, and test results by user
- Share results with other members outside of the team
- Audit usage and changes made to the system by each user
- Automate testing via individual API tokens
CDRouter’s user model is disabled by default and can be enabled using the automatic login feature described below. When the user model is enabled, all users will be authenticated against CDRouter’s local user database.
By default automatic login is enabled on all systems. When automatic login is enabled, user authentication is not required and all users will be able to access and use CDRouter’s web interface and the API without having to log in or provide an API token, respectively. In this mode all users are implicitly the admin user, and have full system-wide admin privileges as described below.
When automatic login is disabled, user authentication is required and all users will have to log in with a valid username and password before they can access and use CDRouter’s web interface. Likewise, users attempting to access the CDRouter Web API or use the ‘cdrouter’ CLI command must authenticate with a valid API token before being granted access.
Automatic login can be enabled or disabled at any time from the Account > Users page.
By default a special admin user is enabled on all systems. The admin user cannot be deleted and has full administrative control over the CDRouter system with no restrictions. The default password for the admin user is cdrouter.
If the default password no longer works or has been changed and needs to be reset, please see this Knowledge Base article.
CDRouter supports the concept of admin users and guest users. Admin users have full administrative control over the CDRouter system, just like the default admin system user described above. Admin users can run tests, create configuration files and test packages, and modify system settings. Admin users can also see and modify all resources on the system regardless of who owns them.
Users that do not have admin privileges are known as guest users. Guests are restricted and cannot run tests, create configuration files and test packages, or modify system settings. Guest users are only allowed to import resources and view them in read-only mode. Guest users can also view results that have been shared with them by admin users.
Users are managed from the Account > Users page within CDRouter’s web interface. Admin privileges can be added to or removed from any user at any time by any user that has admin privileges.
Users can be deleted or disabled on the system at any time by any user with admin privileges. When a user is disabled ownership of that user’s resources does not change. Users that are disabled will still appear on the system and can be enabled at point in time by any user with admin privileges.
Users that have been deleted or disabled will no longer be able to log in to the system or otherwise access the web interface or the API.
By default, all admin users within CDRouter can view or modify any resource on the system. Guest users can only view results that they have imported or that have been shared with them by an admin user. When a result is shared with a guest user, the guest user can view that result in read-only mode.
Sharing results is a great way to allow users that are not familiar with CDRouter to view test results without having to worry about that user accidentally deleting or modifying any resources on the system.
An API token is automatically created for all users. API tokens allow users to execute commands via the CDRouter API, which is useful for automating testing and integrating CDRouter into a larger testing and reporting framework.
Any configuration files, test packages, or results generated by a user are owned by that user. Admin users can change the ownership of any resource on the system at any time. Guest users only own resources that they have imported. Shared results are always owned by the user that created them, unless ownership was explicitly transferred to another user.
All users have access to owner filtering options when viewing resources within CDRouter’s web interface. By default CDRouter will display only the resources that are owned by the logged in user. The Show filter can be used to change this behavior and display resources that belong to a specific user or all users on the system. Guest users can only view resources that are owned by or shared with them.
Note that the Show filter is sticky, and will apply the selected filter to all pages for the duration of the session.