apache / apache/dolphinscheduler

[DSIP-93][API] Project add owner permissions to resource permissions, enable resource transfer to users, and modify and delete user logic

Open
#17,706 7 comments 0 reactions 0 assignees View on GitHub
discussion DSIP
Dominant language
Java
Stars
14.5k
Forks
5.1k
Avg merge
1d 21h
Merged PRs (30d)
29

Description

### Search before asking

- [x] I had searched in the [DSIP](https://github.com/apache/dolphinscheduler/issues/14102) and found no similar DSIP.

### Motivation

At present, the project does not support transferring users, please refer to the following issue #15925;
Project permissions are associated with project creators, in order to decouple project creators from project permissions and increase project owner permissions;

### Design Detail

1. Front end:
Add the "Grant Owner Permissions" button for authorization

Image

2. Backend:
(1) On the basis of the previous permissions, add the owner permission OWNER_PERMISSION=99 to have all permissions. Replace the project creator and modify the verification logic of the previous project creator
(2) Transfer authorization logic before reusing permissions, transfer project permissions, increase owner permissions for target users, and revoke all permissions for source users; The source user and target user belong to the same tenant

### Compatibility, Deprecation, and Migration Plan

The creator of the historical data creation project needs to add owner permissions

### Test Plan

Modify test cases
When creating a project, the creator defaults to having owner's permissions
When deleting or editing a project, verify that the creator has been changed to verify the owner's permissions
When deleting a user, there is no need to verify whether the user is the project creator

### Code of Conduct

- [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)

Contributor guide

Open the contributing guide

Research direction

Start with the project authorization flow in the frontend and backend, focusing on the grant-owner control, project permission checks, and user transfer logic described here. Review the existing permission-related tests before changing behavior. Done means owners have full permissions, transfers move project access between users in the same tenant, and the listed create, edit, delete, and migration cases are covered.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
authorization, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.