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.

Reply via email to