CommandCV commented on issue #15925:
URL: 
https://github.com/apache/dolphinscheduler/issues/15925#issuecomment-3510709987

   > Hi,There are two options. Let's discuss them together and see which one is 
better [@ruanwenjun](https://github.com/ruanwenjun) 
[@CommandCV](https://github.com/CommandCV)
   > 
   > Option 1 Modify the creator of the associated table Advantages: No 
compatibility with historical data, no need to modify permission logic 
Disadvantage: There are many modifications to the association table
   > 
   > 1. Front end
   >    Add a "Transfer Project" button for user management on the 
administrator page
   >    (1) Select the corresponding target user
   > 
   > <img alt="Image" width="2000" height="398" 
src="https://private-user-images.githubusercontent.com/65696095/510589897-766edfb7-d174-4a9d-805c-d96e21ff8463.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjI3NzA0NTksIm5iZiI6MTc2Mjc3MDE1OSwicGF0aCI6Ii82NTY5NjA5NS81MTA1ODk4OTctNzY2ZWRmYjctZDE3NC00YTlkLTgwNWMtZDk2ZTIxZmY4NDYzLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTEwVDEwMjIzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTY4MDVhYzk0MzM2YTY4M2Y4ZTlhMjZjYTllNGVlMzZmYzkzNGE1NGRhY2M4NDVlYjg2YWM1YzUyODI1NmU3ZTQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.q9g61BGDfoU-kuFtE4pYDgM4tqdrzhFSjqnt9KIUSLo";>
   > (2) Select the projects that need to be transferred
   > 
   > <img alt="Image" width="2000" height="797" 
src="https://private-user-images.githubusercontent.com/65696095/510589963-0b3588e7-1013-4a8f-9a5a-a0d16a4a4a2f.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjI3NzA0NTksIm5iZiI6MTc2Mjc3MDE1OSwicGF0aCI6Ii82NTY5NjA5NS81MTA1ODk5NjMtMGIzNTg4ZTctMTAxMy00YThmLTlhNWEtYTBkMTZhNGE0YTJmLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTEwVDEwMjIzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQ1NjU0OTA5NzE1MTA4OTgyNDE1MGQxNTU4Y2EwMzdmNGY5ZTE5MDlhOTE5NzhhMjg3M2Y3MWM1YzJlNDNhNGEmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ymm3dq_YSoA-Ix97y3pIe2bZF_QRbkJm4krSVO2OYYs";>
   > (3) Click OK to call the backend interface to transfer the project 2. 
Backend: Interface modification of user related table data to ensure data 
consistency t_ds_project t_ds_project_parameter t_ds_project_preference 
t_ds_relation_project_user t_ds_workflow_definition 
t_ds_workflow_definition_log t_ds_task_definition t_ds_task_definition_log 
t_ds_schedules t_ds_datasource t_ds_relation_datasource_user t_ds_k8s_namespace 
t_ds_relation_namespace_user
   > 
   > Option 2 Increase owner permissions Advantages: No modification of table 
associated data Disadvantage: Requires compatibility with historical data or 
permission logic compatible with historical logic
   > 
   > 1. Front end:
   >    Add the "Grant Owner Permissions" button for authorization
   > 
   > <img alt="Image" width="1598" height="800" 
src="https://private-user-images.githubusercontent.com/65696095/510590100-45f7abf7-76bf-4e77-8d8c-c6640b38f08e.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NjI3NzA0NTksIm5iZiI6MTc2Mjc3MDE1OSwicGF0aCI6Ii82NTY5NjA5NS81MTA1OTAxMDAtNDVmN2FiZjctNzZiZi00ZTc3LThkOGMtYzY2NDBiMzhmMDhlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTExMTAlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUxMTEwVDEwMjIzOVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTJiNDY0OGQzN2Y3NzVkZGUzOTMwMGM0MjljNDhhMzExNGZjZTYwNzVhYzU0Y2ZmOTZkYzdjZGNiOTgzZTk4ZDgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.mdPmNINPx7VFhGIqxKxPebOTQOVPwYjwDS1vh5viBRQ";>
   > 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
   
   I prefer the second approach.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to