Project

General

Profile

Actions

feature request #6654

closed

implement a CdmPermissionVoter for Registrations

Added by Andreas Kohlbecker almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Priority14
Category:
cdmlib
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Severity:
critical

Description

Registrations need to be protected by a RegistrationsVoter which evaluates CRUD permissions given to users or Groups.

Current situation:

The default data inserter (eu.etaxonomy.cdm.dataInserter.RegistrationRequiredDataInserter) creates the role CURATION in the data base this role is being used to grant access to the Registration editor. This level of protection is however not sufficient. It is in principle still possible to to get write access via the http invoker remoring service.

ToDo:

  • implement RegistrationsVoter (extends CdmPermissionVoter) and configure the security context to use it
  • add a default Group to the first data inserter: RegistrationCurator = "Registration.[DELETE,CREATE,UPDATE,READ]"
  • implement tests
  • Phycobank specific:
    • all users must be given the PermissionGroup Editor see https://dev.e-taxonomy.eu/redmine/projects/edit/wiki/CdmAuthorisationAndAccessControl#Permission-Groups
    • the required data inserter should extend the PermissionGroup Editor by "Registration.[CREATE]"
    • In a first step only the curator will be able to change the registration state. A submitter will need to ask the curation for state changes.
    • In a second step we will implement a RegistrationStateManager which can change the RegistrationState on behalf of the user, since the user is not permitted to change the Registration again. The user can request the RegistrationStateManager for state changes by sending a RegistrationStateEventwith one of the following messages: PREPARATION_COMPLETE => new state: CURATION, WITHDRAW => new state: REJETCED. see #6655 for more details

Related issues

Related to EDIT - feature request #6655: Implement a RegistrationManager with state machineRejectedAndreas Kohlbecker

Actions
Related to EDIT - feature request #7016: implement a CdmPermissionVoter for TypeDesignationsRejectedAndreas Kohlbecker

Actions
Related to EDIT - feature request #7018: implement a CdmPermissionVoter and default authorities for SpecimenOrObservationBaseClosedAndreas Kohlbecker

Actions
Copied to EDIT - feature request #6852: GrantedAuthorities and permission Groups for PhycobankClosedAndreas Kohlbecker

Actions
Actions

Also available in: Atom PDF