Unable to set the policies to the node, which is under root by using 1.6
version..
----------------------------------------------------------------------------------
Key: JCR-2339
URL: https://issues.apache.org/jira/browse/JCR-2339
Project: Jackrabbit Content Repository
Issue Type: Bug
Reporter: sydaiah nallabirudu
We are facing issues while assigning the policies to a Node.
Let me give a brief explanation about project data structure.
We are string the data in repository with following structure
Root
MediaData
MediaObjects
We are assigning write policies to the MediaData node, if any user wants to
create
Media Objects.We could able to assign the policies with jackrabbit 1.5.4
version.
Recently we migrated to 1.6.0 version.
We are not able to assign the policies to MediaData node, but it is allowing to
assign the policies to the MediaObjects node.
Can you suggest us how to set the policies to the Node, which is under root by
using 1.6 version.
The application is not throwing any exception while setting the policies, but
the policies are not applying.
We are using following code to set policies:
Repository rep = new TransientRepository();
Credentials cr = new SimpleCredentials("admin", "admin".toCharArray());
String[] privilegeNames=new String[] { Privilege.JCR_ALL };
SessionImpl sess = (SessionImpl) rep.login(cr);
UserManager userManager = sess.getUserManager();
User user = (User) userManager.getAuthorizable(userData);
//System.out.println("the before creation user is" + user.getID());
if (user == null)
user = userManager.createUser(userData, userData);
System.out.println("the user is" + user.getID());
AccessControlManager accessControlManager = sess.getAccessControlManager();
AccessControlPolicyIterator policyItr =
accessControlManager.getApplicablePolicies("/MediaData");
JackrabbitAccessControlList accessPolicy = (JackrabbitAccessControlList)
policyItr.nextAccessControlPolicy();
Privilege[] previewPrivileges = new Privilege[privilegeNames.length];
int i = 0;
for (String privilegeName : privilegeNames) {
Privilege privilege =
accessControlManager.privilegeFromName(privilegeName);
previewPrivileges[i] = privilege;
i++;
}
// also possible to set a map of restrictions
accessPolicy.addEntry(user.getPrincipal(), previewPrivileges, true);
accessControlManager.setPolicy("/MediaData", accessPolicy);
Thanks
Sydaiah
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.