Hi,
I have many 'nt:folder' types created and upon each folder creation,
permissions has been granted to different set of users. Now I need to get
list of nodes based on user(with read and write) persmissions.
Using jackrabbit 2.6.0
Partial snippet of user creation and assigning privilege
*User creation:*
UserManager userManager = ((JackrabbitSession) session).getUserManager();
org.apache.jackrabbit.api.security.user.User user =
(org.apache.jackrabbit.api.security.user.User)userManager.getAuthorizable(userName);
*// Add entry*
javax.jcr.security.Privilege[] privileges = new
javax.jcr.security.Privilege[] {
accessControlManager.privilegeFromName(javax.jcr.security.Privilege.JCR_WRITE)
};
//Temporary folder access
Map<String, Value> restrictions = new HashMap<String, Value>();
restrictions.put("rep:nodePath",
valueFactory.createValue(userDbInstance.getUserFilePath(),
PropertyType.PATH));
restrictions.put("rep:glob", valueFactory.createValue("*"));
accessControlList.addEntry(userPrincipal, privileges, true /*allow or deny
*/, restrictions);
//Adding Node
public Node addNode(String parent, String name, ETNodeTypes type) throws
JCRServiceException {
checkSession();
try {
name = Text.escapeIllegalJcrChars(name);
logger.debug("Adding Node: " + parent + " type: " + type + "
name(escaped):" + name);
Node node = session.getNode(parent).addNode(name,
type.getName());
node.addMixin("rep:AccessControllable");
logger.debug("Node added: " + node.getPath());
return node;
} catch (RepositoryException e) {
e.printStackTrace();
throw new JCRServiceException(e,e.getMessage(),"Unable to
create");
}
}
Thanks.
--
View this message in context:
http://jackrabbit.510166.n4.nabble.com/Getting-list-of-nodes-for-user-tp4661092.html
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.