Cannot Add User Because 'Add User' Link is Missing

Still need help?

The Atlassian Community is here for you.

Ask the community

Symptoms

When an administrator goes to add a new user to Confluence via Confluence Admin > Users (or Manage Users in some versions), only the Find User option is shown. There is no visible option to add a new user to Confluence.

Causes and Resolutions

There are multiple reasons that can cause the additional user administration tabs to not appear.

Cause 1

The External user management option is selected under Confluence Admin > Security Configuration. Checking this option removes the ability to add users in Confluence as the application will fully delegate user management to an external application such as JIRA or Crowd.

Resolution 1

If you have delegated Confluence's user management to another application, you can add users in the remote application. Otherwise, disable the External user management option if you wish to add a user directly to Confluence.

(info) More info on the 'External user management' option: Disabling the Built-In User Management

Cause 2

The Confluence Internal Directory is disabled.

Resolution 2

Log into Confluence as an administrative user from a different user directory. Go to Confluence Admin > User Directories and re-enable the Confluence Internal Directory.

If you are unable to do this within the admin UI console for some reason, you can also update this via the database:

  1. Shut down Confluence and create a safety backup of the database before proceeding.
  2. Run the following query to check that the Confluence Internal Directory is indeed disabled (look for the "active" column, which should return "F" for "false":

    SELECT * FROM cwd_directory;
  3. Run the following query to set "active" to "T":

    UPDATE cwd_directory SET active = 'T' WHERE directory_name = 'Confluence Internal Directory';
  4. Re-start Confluence.

Cause 3

For reasons unknown, the Confluence Internal Directory is lacking the necessary directory operation permissions.

Resolution 3

Inject the necessary operation permissions to the directory via the database:

  1. Shut down Confluence and create a safety backup of the database before proceeding.
  2. Run the following queries to check that the Confluence Internal Directory is indeed lacking permissions. A normal, working internal directory should return 12 rows returned from these two tables (cwd_directory_operation and cwd_app_dir_operation), representing these operations: CREATE_GROUP, CREATE_ROLE, CREATE_USER, DELETE_GROUP, DELETE_ROLE, DELETE_USER, UPDATE_GROUP, UPDATE_GROUP_ATTRIBUTE, UPDATE_ROLE, UPDATE_ROLE_ATTRIBUTE, UPDATE_USER, UPDATE_USER_ATTRIBUTE. A broken one will have less than 12 or even none in both the cwd_directory_operation and cwd_app_dir_operation tables.

    SELECT * FROM cwd_directory_operation WHERE directory_id IN (SELECT id FROM cwd_directory WHERE directory_name = 'Confluence Internal Directory');
    SELECT d.id as directory_id, o.operation_type
    FROM
      CWD_APP_DIR_OPERATION O,
      CWD_APP_DIR_MAPPING M,
      CWD_DIRECTORY D
    WHERE O.APP_DIR_MAPPING_ID = M.ID
      AND M.DIRECTORY_ID = D.ID
      AND D.DIRECTORY_NAME = 'Confluence Internal Directory';
  3. Make a note of the directory_id value from the previous queries (both should return the same directory ID). This is used in the next query.

  4. For the cwd_directory_operation table, modify the following query and replace the placeholder 123456789 value with the actual directory_id value. Please note that this was originally written for Microsoft SQL Server. If you are using a different DBMS, you may have to tweak the query accordingly:

    INSERT INTO `cwd_directory_operation` VALUES (123456789,'CREATE_GROUP'),(123456789,'CREATE_ROLE'),(123456789,'CREATE_USER'),(123456789,'DELETE_GROUP'),(123456789,'DELETE_ROLE'),(123456789,'DELETE_USER'),(123456789,'UPDATE_GROUP'),(123456789,'UPDATE_GROUP_ATTRIBUTE'),(123456789,'UPDATE_ROLE'),(123456789,'UPDATE_ROLE_ATTRIBUTE'),(123456789,'UPDATE_USER'),(123456789,'UPDATE_USER_ATTRIBUTE');
  5. Run this query and make note of the "Mapping ID" value. This is used in the next query.

    SELECT M.ID AS "Mapping ID" FROM CWD_APP_DIR_MAPPING M, CWD_DIRECTORY D WHERE M.DIRECTORY_ID=D.ID AND D.DIRECTORY_NAME='Confluence Internal Directory';
  6. For the cwd_app_dir_operation table, modify the following query and replace the placeholder 163842 value with the actual mapping ID value.

    INSERT INTO `cwd_app_dir_operation` VALUES (163842, 'CREATE_GROUP'),(163842, 'CREATE_ROLE'),(163842, 'CREATE_USER'),(163842, 'DELETE_GROUP'),(163842, 'DELETE_ROLE'),(163842, 'DELETE_USER'),(163842, 'UPDATE_GROUP'),(163842, 'UPDATE_GROUP_ATTRIBUTE'),(163842, 'UPDATE_ROLE'),(163842, 'UPDATE_ROLE_ATTRIBUTE'),(163842, 'UPDATE_USER'),(163842, 'UPDATE_USER_ATTRIBUTE');
  7. Run both the queries above.
  8. Restart Confluence.

Last modified on Jul 5, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.