User Management

This page explains how an administrator manages user accounts in FT Configs UI. You can create, edit, suspend, and delete users. You can also reset passwords and end sessions.

When to use it

Use this page to give people access, to change their role, or to remove their access.

Before you start

Only users with the ADMIN role can do the actions on this page. Users with the VIEWER or EDITOR role cannot open user management.
  1. Click your avatar in the header and select Settings.

  2. Open the Users tab.

Expected result: the page shows the users table.

Roles and permissions

FT Configs UI has three roles:

Role Permissions

VIEWER

Read-only. Cannot edit, import, export, or delete configurations.

EDITOR

Can create, edit, import, and export configurations. No access to user management or the audit log.

ADMIN

All EDITOR permissions, plus user management, the audit log, and system settings.

Give the VIEWER role to users who only need to view data. Give the EDITOR role to operators. Give the ADMIN role only to system administrators.

Permissions tooltip

Hover over a role badge in the users table. The tooltip shows the permission matrix of the role. Use it to check the permissions of a user without a dialog.

Permission VIEWER EDITOR ADMIN

View configurations

Yes

Yes

Yes

Edit configurations

No

Yes

Yes

Import / Export

No

Yes

Yes

Manage users

No

No

Yes

Audit log

No

No

Yes

System settings

No

No

Yes

The tooltip shows Import / Export as one permission. A VIEWER cannot import. A VIEWER can export.

Users table

The page shows a table of all accounts with pages. The table shows 20 users on each page by default. To sort the table, click the Username header.

Fields

Column Description

Username

The unique login name. The record ID is below the name.

Email

The email address of the user.

Role

The role: VIEWER, EDITOR, or ADMIN. Hover to see the permissions tooltip.

Enabled

The account status: Active or Suspended. The badge has a color.

Password change

Shows if the user must change the password at the next sign-in.

Last login

The time of the last sign-in in a relative format, for example "2 hours ago". Hover to see the exact date.

Actions

The "…​" button with a menu. See Use row actions.

Find users

Use the controls above the table to narrow the list:

  • Search: filters by username and email. The list updates while you type, after a 400 ms delay.

  • Role: shows only users with one role.

  • Status: shows all, only active, or only suspended users.

The filters work together. For example, you can enter a username, select the EDITOR role, and select Active.

To clear all filters, click Reset filters. The link appears when a filter is active.

Check the refresh time

A status row below the table shows the time of the last refresh. An example is "List is up to date. 10:10:20". The refresh icon turns while the list loads.

Use row actions

Each row has a "…​" button. The button opens a menu with these actions:

Action Description

Edit user

Opens the user dialog. See Edit a user.

Enable user or Disable user

Changes the account status at once. The UI asks for no confirmation. The table shows the new status first. If the server returns an error, the table restores the old status.

Delete user

Opens the user dialog, where you can start the deletion. See Delete a user.

Enable user and Disable user run without confirmation. The status changes at once. If an error occurs, the UI restores the old value.

Create a user

  1. Click Add user.

  2. Enter the values in the dialog:

    Field Rules

    Username

    Required.

    Email

    Required. Must end with @friendly-tech.com. Maximum 100 characters.

    Role

    Required. Select VIEWER, EDITOR, or ADMIN. The role description is below the selection.

    Locale

    The default interface language: English (en) or Russian (ru).

    Active

    A switch. It decides if the account is active at once.

  3. Click Create user.

Expected result: the system creates the account and a temporary password. The new user must change this password at the first sign-in. The server configuration decides how the password reaches the user:

Mode Behavior

Online (email delivery is configured)

The system sends the temporary password to the user by email. You do not see the password. The UI shows only a delivery message.

Offline (mail server is not available)

The system sends no email. A separate dialog shows the temporary password to you once. The dialog has a Copy button. Send the password to the user through a secure channel.

The system sets the passwordChangeRequired flag for every new account.
In offline mode, the dialog shows the temporary password only once. The system does not store it. If you close the dialog without a copy, reset the password. See Reset a password.
The Add user dialog creates users only. To edit a user, use the user dialog. See Edit a user.

Edit a user

To open the user dialog, click a row in the table or select Edit user in the row menu. The dialog is one page with several sections.

Header

The header shows the username, the email, and a badge with the status.

Profile form

The form has the main data of the user:

Field Description

Username

A text field. You can edit it.

Email

A field. You can edit it. The domain must be @friendly-tech.com.

Role

A list of roles. The role description is below the list.

Active

A switch. It enables or disables the account. A text explains the switch.

A role change takes effect at once. If you change an ADMIN to EDITOR, the user loses access to user management and the audit log at the next page load.

Password indicator

An information block below the form shows the password status:

  • If the user does not need to change the password, you see a green shield icon and text.

  • If the user must change the password, you see a yellow warning icon and text.

Sessions

The Sessions section is collapsed by default. A badge next to the heading shows the number of active sessions.

When you expand the section, it shows the sessions of the user. Each entry shows:

  • the session identifier (the first 8 characters),

  • a Revoked badge, if the session is revoked,

  • the creation date and the expiration date.

The dialog loads the session data when it opens.

Danger zone

The Danger zone section is at the bottom of the dialog. A horizontal line separates it from the rest.

Action Description

Reset password

Creates a new temporary password and sets the password change flag. The UI asks for confirmation first.

Terminate all

Revokes all active sessions of the user. The button is disabled if the user has no sessions. The UI asks for confirmation first.

Delete user

Starts the deletion with a confirmation. See Delete a user.

A password reset does not end the current sessions of the user. To end all sessions, reset the password and click Terminate all.

Save the changes

The footer has two buttons. Save changes saves the changes of the profile form: name, email, role, and status. Cancel closes the dialog without saving.

Suspend or activate a user

A suspension stops a user from signing in. It does not delete the account.

Change the status in the table

  1. Find the user in the table.

  2. Click the "…​" button in the row.

  3. Select Disable user for an active user, or Enable user for a suspended user.

Expected result: the status changes at once in the table. The UI asks for no confirmation.

If the server returns an error, the UI restores the old status and shows an error notification.

Change the status in the dialog

Use the Active switch in the profile form of the user dialog. The change applies after you click Save changes.

Use a suspension instead of a deletion to remove access for a short time. Examples are an investigation or an employee on leave.

Reset a password

  1. Open the user dialog.

  2. Scroll to the Danger zone section.

  3. Click Reset password.

  4. Confirm the action in the dialog.

Expected result: the system creates a new temporary password. The delivery works in the same way as for a new user:

  • Online (email delivery is configured): the system sends the password by email. The dialog shows a delivery message and not the password.

  • Offline (mail server is not available): a separate dialog shows the password with a Copy button.

In offline mode, the dialog asks you to paste the password into a check field before you can close it. The system sets the passwordChangeRequired flag. The user must choose a new password at the next sign-in.

A password reset does not end the current sessions of the user. To sign the user out, also click Terminate all.

End all sessions of a user

  1. Open the user dialog.

  2. Scroll to the Danger zone section.

  3. Click Terminate all.

  4. Click Terminate in the confirmation dialog.

Expected result: the system revokes all active sessions of the user. The user must sign in again.

The button is disabled if the user has no active sessions.

Delete a user

A deletion removes the account permanently. The server configuration decides the steps:

Mode Behavior

Online (email delivery is configured)

You need a one-time password (OTP) to confirm the deletion. The system sends the OTP to your administrator email.

Offline (mail server is not available)

The deletion uses no OTP. You confirm a plain "Delete user?" dialog. The system deletes the account only after you confirm.

A deletion is permanent. The system removes the account and the related data. If you need to remove access for a short time, suspend the user.

Delete a user (online)

  1. Open the user dialog.

  2. Scroll to the Danger zone section.

  3. Click Delete user. The system sends a one-time code to your administrator email.

  4. Enter the OTP in the confirmation dialog.

  5. Click Confirm delete.

Expected result: the UI shows a success notification and the list refreshes.

Delete a user (offline)

  1. Open the user dialog.

  2. Scroll to the Danger zone section.

  3. Click Delete user. A plain "Delete user?" dialog opens, without an OTP field.

  4. Click Confirm delete.

Expected result: the UI shows a success notification and the list refreshes.

Use the OTP (online)

  1. When you start the deletion, the system creates a one-time code.

  2. The system sends the code to your email.

  3. Enter the code in the dialog before it expires. The dialog shows a countdown.

  4. If the code expired, click Resend code to get a new code.

  5. If you enter a wrong code, the UI shows an error. You can start the process again.

The two steps help you avoid unwanted or unauthorized deletions.

Deletion error codes

Code Description

2501, 2502, 2503

The OTP is wrong or expired. Enter it again or request a new code.

2504

The system cannot send the OTP. Your administrator account has no email.

2505

The deletion is not allowed. This user is the last administrator. The system must always have at least one ADMIN.

Open the About dialog

  1. Click your avatar in the top-right corner.

  2. Select About.

Expected result: a dialog shows the version information:

Field Description

Frontend version

The version number of the client application.

Frontend build

The build identifier, if available.

Backend version

The version number of the server application. The dialog loads it when it opens.

Backend build

The build identifier of the server application.

The Copy button at the bottom copies all version information to the clipboard. Use it when you contact technical support or report a bug.

After an update, open the About dialog to check the frontend and backend versions.

User field reference

Field Type Description

username

String

The unique login name. It can contain Latin letters, digits, underscores, and hyphens.

email

String (maximum 100 characters)

Must end with @friendly-tech.com.

role

Enum

One of VIEWER, EDITOR, ADMIN.

locale

Enum

The preferred interface language: en or ru.

enabled

Boolean

true if the account is active. false if it is suspended.

passwordChangeRequired

Boolean

If true, the user must change the password at the next sign-in.

createdAt

Timestamp

The creation date and time of the account.

updatedAt

Timestamp

The date and time of the last account change.

lastLoginAt

Timestamp

The date and time of the last sign-in. It can be empty if the user never signed in.

Troubleshooting

The status flickers and returns to the old value after you click Enable user or Disable user

The server rejected the request. The reason can be missing permissions or a network error. The UI shows the new status first and restores the old status on an error. Read the error notification. Check your ADMIN role and the server connection.

The deletion OTP does not arrive by email

Your administrator account can have no email, or the mail server is not available (error 2504). Check the email address of your account and the spam folder. If the problem stays, ask your system administrator to check the mail server. On an offline server, the deletion uses no OTP. You see a plain "Delete user?" dialog instead. If you expected an OTP and see this dialog, the server runs in offline mode.

The deletion fails with the "last administrator" error

The system does not delete the last user with the ADMIN role (error 2505). Create a new user with the ADMIN role, or give the ADMIN role to an existing user. Then delete the user again.

The About dialog shows dashes instead of the backend version

The UI could not load the version from the server. The server can be unavailable or can have no version endpoint. Check the backend status and connection. Refresh the page and open the dialog again.