alibaba/spring-ai-alibaba · error · BizException
PermissionDenied
PermissionDenied
Error message
You do not have permission for this operation.
What it means
checkAdminPermission in AccountServiceImpl throws BizException(PERMISSION_DENIED) when the account exists but its type is not AccountType.ADMIN. Called before admin-only operations (create/update/delete/list accounts).
Solutions
- Perform the operation with an account that has ADMIN type
- Grant admin role via proper admin workflow
- Hide/omit admin-only actions in the UI for non-admin users
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at spring-ai-alibaba-admin/spring-ai-alibaba-admin-server-core/src/main/java/com/alibaba/cloud/ai/studio/core/base/service/impl/AccountServiceImpl.java:606 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of alibaba/spring-ai-alibaba@f82da0b50f (2026-09-09).
Data as JSON: /api/errors/81986e54aaf10f2c.
Report an issue: GitHub.
Appendix: source
Thrown at spring-ai-alibaba-admin/spring-ai-alibaba-admin-server-core/src/main/java/com/alibaba/cloud/ai/studio/core/base/service/impl/AccountServiceImpl.java:606
}
Account account = BeanCopierUtils.copy(entity, Account.class);
account.setPassword(null);
return account;
}
/**
* Verifies admin permissions
* @param accountId Account ID to check
*/
private void checkAdminPermission(String accountId) {
AccountEntity entity = getAccountById(accountId);
if (entity == null) {
throw new BizException(ErrorCode.ACCOUNT_NOT_FOUND.toError());
}
if (AccountType.ADMIN != entity.getType()) {
throw new BizException(ErrorCode.PERMISSION_DENIED.toError());
}
}
/**
* create workspace for account
* @param accountId account id
* @return workspace id
*/
private String createWorkspace(String accountId) {
Workspace workspace = new Workspace();
workspace.setAccountId(accountId);
workspace.setName("Default Workspace");
workspace.setDescription("Default workspace");
return workspaceService.createWorkspace(workspace);
}
}
View on GitHub (pinned to f82da0b50f)