Chapter 3. User Management
Changing Password
Users are able to change their own passwords (unless their account is "protected"). This
can be done by clicking on "My Account", and then typing the new password in the "Pass-
word" and "Confirm Password" fields, then clicking "Update User". Changing the pass-
word automatically invalidates all logged in sessions and hence the user will be required
to re-login. Invalidating existing sessions is very useful in the case where a user going onto
a computer, logs into MantisBT and leaves the computer without logging out. By changing
the password from another computer, the session on the original computer automatically
becomes invalidated.
Pruning User Accounts
The pruning function allows deleting of user accounts for accounts that have been created
more than a week ago, and they never logged in. This is particularly useful for users who
signed up with an invalid email or with a typo in their email address address.
The account pruning can be done by administrators by going to "Manage", "Manage
Users", and clicking the "Prune Accounts" button inside the "Never Logged In" box.
Authorization and Access Levels
MantisBT uses access levels to define what a user can do. Each user account has a
global or default access level that is associated with it. This access level is used as the
access level for such users for all actions associated with public projects as well as
actions that are not related to a specific project. Users with global access level less than
$g_private_project_threshold will not have access to private projects by default.
The default access levels shipped with MantisBT out of the box are VIEWER,
REPORTER, UPDATER, DEVELOPER, MANAGER and ADMINISTRATOR. Each
features has several configuration options associated with it and identifies the required
access level to do certain actions. For example, viewing an issue, reporting an issue,
updating an issue, adding a note, etc.
For example, in the case of reporting issues, the required access level is configurable us-
ing the $g_report_bug_threshold configuration option (which is defaulted to REPORTER).
So for a user to be able to report an issue against a public project, the user must have a
project-specific or a global access level that is greater than or equal to REPORTER. How-
ever, in the case of reporting an issue against a private project, the user must have project
specific access level (that is explicitly granted against the project) that is higher than RE-
PORTER or have a global access level that is higher than both $g_private_project_threshold
and $g_report_bug_threshold.
Note that project specific access levels override the global access levels. For example, a
user may have REPORTER as the global access level, but have a MANAGER access level
to a specific project. Or a user may have MANAGER as the global access level by VIEWER
access to a specific project. Access levels can be overridden for both public and private
projects. However, overriding access level is not allowed for users with global access AD-
MINISTRATOR.
Each feature typically has multiple access control configuration options to defines what
access level can do certain operations. For example, adding a note may require REPORTER
access level, updating a note my require DEVELOPER access level, unless the own was
owned by the same user and in this case REPORTER access level. Such threshold config-
uration options can be set to a single access level, which means users with such threshold
and above are authorized to do such action. The other option is to specify an array of ac-
cess level which indicates that users with the explicitly specific thresholds are allowed to
do such actions.
It is also worth mentioning that the access levels are defined by the
$g_access_levels_enum_string configuration option, and it is possible to customize such
14