-
Type: Bug
-
Status: Resolved
-
Priority: Major
-
Resolution: Won't Fix
-
Affects Version/s: 5.5, 5.5.0-HF01
-
Fix Version/s: 8.3
-
Component/s: CMF (deprecated)
Since NXCM-499, there is a new virtual group used for ACL. When you create or modify a Case, the code set an ACE for this virtual group : ACE ace = new ACE(CaseManagementSecurityConstants.MAILBOX_GROUP_PREFIX + group, permission, true)
With the modification of nuxeo-case-management-core/src/main/java/org/nuxeo/cm/core/usermanager/CaseManagementGroupComputer.java, the user as the right virtual groups calculated.
The problem is when you try to create a new Case in a mailbox. You have this error :
Caused by: org.nuxeo.ecm.core.api.DocumentSecurityException: Privilege 'Read' is not granted to 'nicolas.clain'
at org.nuxeo.ecm.core.api.AbstractSession.checkPermission(AbstractSession.java:330)
at org.nuxeo.ecm.core.api.AbstractSession.getDocument(AbstractSession.java:1213)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.nuxeo.ecm.core.api.TransactionalCoreSessionWrapper.invoke(TransactionalCoreSessionWrapper.java:129)
at $Proxy28.getDocument(Unknown Source)
at org.nuxeo.cm.core.service.CaseDistributionServiceImpl.createEmptyCase(CaseDistributionServiceImpl.java:348)
Indead, the CreateEmptyCaseUnrestricted class you have this code when you create a new case :
for (Mailbox mailbox : mailboxes)
So you don't have the needed ACE set on the new case.
A bug fix could be to modify CaseManagementGroupComputer.java and add an ACE with MAILBOX_PREFIX...
What do you think ?
- depends on
-
NXP-8390 Fix retrieval of some user mailboxes when using a session that's not using the user principal
- Resolved