{"record":{"id":"b193ebcc676c8be1","repo":"apolloconfig/apollo","slug":"manage-users-permission-is-required","errorCode":null,"errorMessage":"Manage users permission is required","messagePattern":"Manage users permission is required","errorType":"exception","errorClass":"AccessDeniedException","httpStatus":403,"severity":"error","filePath":"apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/UserController.java","lineNumber":155,"sourceCode":"  private void requirePortalUserRequest() {\n    if (!isPortalUserIdentity()) {\n      throw new AccessDeniedException(\"Portal user session is required\");\n    }\n  }\n\n  private void requireUserManagementReadPermission() {\n    if (UserIdentityConstants.USER.equals(UserIdentityContextHolder.getAuthType())) {\n      return;\n    }\n    if (UserIdentityConstants.USER_TOKEN.equals(UserIdentityContextHolder.getAuthType())\n        && unifiedPermissionValidator.hasManageUsersPermission()) {\n      return;\n    }\n    if (UserIdentityConstants.CONSUMER.equals(UserIdentityContextHolder.getAuthType())\n        && unifiedPermissionValidator.hasManageUsersPermission()) {\n      return;\n    }\n    throw new AccessDeniedException(\"Manage users permission is required\");\n  }\n\n  private boolean requireUserManagementMutationPermission(String operator) {\n    if (UserIdentityConstants.USER.equals(UserIdentityContextHolder.getAuthType())) {\n      return false;\n    }\n    if (UserIdentityConstants.USER_TOKEN.equals(UserIdentityContextHolder.getAuthType())) {\n      if (!unifiedPermissionValidator.hasManageUsersPermission()) {\n        throw new AccessDeniedException(\"Manage users permission is required\");\n      }\n      return false;\n    }\n    if (UserIdentityConstants.CONSUMER.equals(UserIdentityContextHolder.getAuthType())) {\n      if (!unifiedPermissionValidator.hasManageUsersPermission()) {\n        throw new AccessDeniedException(\"Manage users permission is required\");\n      }\n      operatorResolver.resolve(operator);\n      return true;","sourceCodeStart":137,"sourceCodeEnd":173,"githubUrl":"https://github.com/apolloconfig/apollo/blob/d95fc18d112589efc09ddcbe1507047584d55251/apollo-portal/src/main/java/com/ctrip/framework/apollo/openapi/v1/controller/UserController.java#L137-L173","documentation":"Thrown by requireUserManagementReadPermission/requireUserManagementMutationPermission when a user token or consumer token lacks the manage-users permission, or when the auth type is unrecognized.","triggerScenarios":"Thrown when the caller lacks the global manage-users permission required for user administration endpoints.","commonSituations":"Caller is neither super admin nor holder of the manage-users system role.","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."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"d95fc18d112589efc09ddcbe1507047584d55251","analyzedAt":"2026-08-14T04:00:05.477Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}