feature request #6867
Updated by Andreas Kohlbecker over 6 years ago
After an in depth discussion we decided that for phyconbank the strategy **D)** (per instance UPDATE & DELETE permission) would be the most appropriate:
* a submitter will the per instance UPDATE+DELETE permission when he creates a Reference, TeamOrPersonBase, Name instance.
* once a registration is set to the states `rejected`, `ready` or `published` the UPDATE+DELETE permission must be revoked again, so that the registered name and references are protected from being changed after the editing registration workflow has ended.
The `RegistrationManager` (#6655) will be responsible for ~~assigning and~~ revoking of authorities. **NOTE**: It is more reliable to implement the revoking of permissions in a **`GrantedAuthorityRevokingRegistrationUpdateLister`**
----
I future is might be interesting to move the assignment of authorities into the cdmlib istelf:
* A `ExtendedCreatePermissionManager`. This implements listener interfaces
* hibernate `SaveOrUpdateEventListener` or `Intercepter` to be able to act when a newly created instance of *Reference, TeamOrPersonBase, Name* is being saved
* `RegistrationStateChanegEventLister` to be noticed when the registration state is changed to `rejected`, `ready` or `published` so that the permissions can be revoked.