apolloconfig/apollo · error · AccessDeniedException
Manage users permission is required
Error message
Manage users permission is required
What it means
Thrown by requireUserManagementReadPermission/requireUserManagementMutationPermission when a user token or consumer token lacks the manage-users permission, or when the auth type is unrecognized.
Source
Thrown at apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/UserController.java:155
private void requirePortalUserRequest() {
if (!isPortalUserIdentity()) {
throw new AccessDeniedException("Portal user session is required");
}
}
private void requireUserManagementReadPermission() {
if (UserIdentityConstants.USER.equals(UserIdentityContextHolder.getAuthType())) {
return;
}
if (UserIdentityConstants.USER_TOKEN.equals(UserIdentityContextHolder.getAuthType())
&& unifiedPermissionValidator.hasManageUsersPermission()) {
return;
}
if (UserIdentityConstants.CONSUMER.equals(UserIdentityContextHolder.getAuthType())
&& unifiedPermissionValidator.hasManageUsersPermission()) {
return;
}
throw new AccessDeniedException("Manage users permission is required");
}
private boolean requireUserManagementMutationPermission(String operator) {
if (UserIdentityConstants.USER.equals(UserIdentityContextHolder.getAuthType())) {
return false;
}
if (UserIdentityConstants.USER_TOKEN.equals(UserIdentityContextHolder.getAuthType())) {
if (!unifiedPermissionValidator.hasManageUsersPermission()) {
throw new AccessDeniedException("Manage users permission is required");
}
return false;
}
if (UserIdentityConstants.CONSUMER.equals(UserIdentityContextHolder.getAuthType())) {
if (!unifiedPermissionValidator.hasManageUsersPermission()) {
throw new AccessDeniedException("Manage users permission is required");
}
operatorResolver.resolve(operator);
return true;View on GitHub (pinned to d95fc18d11)
Solutions
- Grant the calling user token or consumer token the manage-users permission via Apollo portal permission management.
- Or authenticate as a portal user with sufficient privileges.
When it happens
Trigger: Thrown when the caller lacks the global manage-users permission required for user administration endpoints.
Common situations: Caller is neither super admin nor holder of the manage-users system role.
AI-assisted analysis of apolloconfig/apollo@d95fc18d11 (2026-08-14).
Data as JSON: /api/errors/b193ebcc676c8be1.
Report an issue: GitHub.