AccessManager asks for property (jcr:created) permissions before the actual
creation of the object
--------------------------------------------------------------------------------------------------
Key: JCR-1941
URL: https://issues.apache.org/jira/browse/JCR-1941
Project: Jackrabbit Content Repository
Issue Type: Bug
Components: jackrabbit-core
Affects Versions: 1.5.0
Environment: n/a
Reporter: Jacco van Weert
When implementing a custom AccessManager for Jackrabbit v1.5+ there a bug when
creating a new object.
I perform an addNode() and my own accessmanager the isGranted() method is
override'd and performs the following code;
......
String perm = null;
NodeId nodeId = mHierMgr.resolveNodePath( pPath );
PropertyId propId = null;
if (nodeId==null) {
propId = mHierMgr.resolvePropertyPath( pPath );
System.out.println("path = " + pPath.toString() );
// **** TODO is this ok?... it happens when a new object is
created and the accessmanager ask for read access on a property.
// if (propId==null) return true;
nodeId = propId.getParentId();
}
this is the System.out.println result
path = {} {}JeCARS {}default {}Groups {}testGroup
{http://www.jcp.org/jcr/1.0}created
and the stacktrace
at org.jecars.CARS_AccessManager.isGranted(CARS_AccessManager.java:844)
at org.jecars.CARS_AccessManager.isGranted(CARS_AccessManager.java:806)
at org.apache.jackrabbit.core.ItemManager.canRead(ItemManager.java:339)
at org.apache.jackrabbit.core.ItemManager.canRead(ItemManager.java:326)
at
org.apache.jackrabbit.core.ItemManager.createItemData(ItemManager.java:696)
at
org.apache.jackrabbit.core.ItemManager.getItemData(ItemManager.java:291)
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:228)
at org.apache.jackrabbit.core.ItemManager.getItem(ItemManager.java:493)
at
org.apache.jackrabbit.core.NodeImpl.createChildProperty(NodeImpl.java:479)
at
org.apache.jackrabbit.core.NodeImpl.createChildNode(NodeImpl.java:535)
at
org.apache.jackrabbit.core.NodeImpl.internalAddChildNode(NodeImpl.java:795)
at
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:729)
at
org.apache.jackrabbit.core.NodeImpl.internalAddNode(NodeImpl.java:677)
at org.apache.jackrabbit.core.NodeImpl.addNode(NodeImpl.java:2110)
It seems that READ permission for the jcr:created property is requested before
the object is actually created
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.