Project

General

Profile

feature request #7018

implement a CdmPermissionVoter and default authorities for SpecimenOrObservationBase

Added by Andreas Kohlbecker about 1 year ago. Updated about 1 year ago.

Status:
Closed
Priority:
Highest
Category:
cdmlib
Target version:
Start date:
05/19/2017
Due date:
% Done:

100%

Severity:
critical

Description

SpecimenOrObservationBase need to be protected by a SpecimenOrObservationBaseVoter which evaluates CRUD permissions given to users or Groups.

Permissions and the derivation hierachy

If a per entity authority for a SpecimenOrObservationBase is given to a user the hierarchy of the DerivedUnits becomes important

In case of the Phycobank project a per entity authority is given for the FieldUnit and this permission will intrinsically be propagated to all children in the the derivation tree.

This approach seems to be sufficient for most project workflows. If user is not having the permission to edit the whole derivation tree it can be granted to edit a specific DerivedUnit and will then be able to create and modify all units which are derivatives of the one he is allowed to edit. But this might not be appropriate in all cases:

DerivedUnits and DerivationEvents can form graphs with multiple roots.

fuA -- duA
          \
           duAB -- du2
          /
fuB -- duB

In order to modify du2 it is either necessary to have the per entity authority for

  • (1) duAB, as mentioned above, or
  • (2) for fuA AND fuB.

This second (2) approach is however not feasible with the current CdmAuthorities and the CdmPermissionVoter.furtherVotingDescisions((CdmAuthority cdmAuthority, Object object, Collection<ConfigAttribute> attributes, ValidationResult validationResult) which is only able to operate on one CdmAuthority at the same time. To make it possible to validate permissions as in (2) it would be needed to pass all CdmAuthority for which the voter is responsible for to the furtherVotingDescisions method. ==> handled in #7020


Related issues

Related to Edit - feature request #6852: GrantedAuthorities and permission Groups for Phycobank Closed
Related to Edit - feature request #6654: implement a CdmPermissionVoter for Registrations Closed 05/19/2017
Copied from Edit - feature request #7016: implement a CdmPermissionVoter for TypeDesignations Rejected 05/19/2017
Copied to Edit - feature request #7020: Allow SpecimenOrObservationBaseVoter to make futher voting decision on base of multiple authorities New 05/19/2017

Associated revisions

Revision d14347e9 (diff)
Added by Andreas Kohlbecker about 1 year ago

ref #7018 ref #7016 turning the not needed TypeDesignationVoter into a SpecimenOrObservationBaseVoter

Revision 8c97b25e (diff)
Added by Andreas Kohlbecker about 1 year ago

ref #7018 ref #7016 turning the not needed TypeDesignationVoter into a SpecimenOrObservationBaseVoter - fixing spring configuration

Revision c2f87993 (diff)
Added by Andreas Kohlbecker about 1 year ago

ref #7018 adapting taxeditor to changes in cdm permission classes

Revision 88249c56 (diff)
Added by Andreas Kohlbecker about 1 year ago

fix #7018 ref #7020 simple permission voter and authorities for SpecimenOrObservationBase implemented, more complex voter implementation postponed

History

#1 Updated by Andreas Kohlbecker about 1 year ago

#2 Updated by Andreas Kohlbecker about 1 year ago

#3 Updated by Andreas Kohlbecker about 1 year ago

#4 Updated by Andreas Kohlbecker about 1 year ago

  • Description updated (diff)

#5 Updated by Andreas Kohlbecker about 1 year ago

  • Description updated (diff)

#6 Updated by Andreas Kohlbecker about 1 year ago

  • % Done changed from 0 to 30

#7 Updated by Andreas Kohlbecker about 1 year ago

  • Description updated (diff)

#8 Updated by Andreas Kohlbecker about 1 year ago

  • Copied to feature request #7020: Allow SpecimenOrObservationBaseVoter to make futher voting decision on base of multiple authorities added

#9 Updated by Andreas Kohlbecker about 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 30 to 50

#10 Updated by Andreas Kohlbecker about 1 year ago

  • Description updated (diff)
  • Status changed from Resolved to Closed
  • % Done changed from 50 to 100

Also available in: Atom PDF

Add picture from clipboard (Maximum size: 40 MB)