Cannot Add User Because 'Add User' Link is Missing
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.
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:
- Shut down Confluence and create a safety backup of the database before proceeding.
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;
Run the following query to set "active" to "T":
UPDATE cwd_directory SET active = 'T' WHERE directory_name = 'Confluence Internal Directory';
- 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:
- Shut down Confluence and create a safety backup of the database before proceeding.
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
andcwd_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 thecwd_directory_operation
andcwd_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';
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.For the
cwd_directory_operation
table, modify the following query and replace the placeholder123456789
value with the actualdirectory_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');
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';
For the
cwd_app_dir_operation
table, modify the following query and replace the placeholder163842
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');
- Run both the queries above.
- Restart Confluence.