use of org.apache.jackrabbit.api.security.user.UserManager in project jackrabbit by apache.
the class WriteTest method testMultipleGroupPermissionsOnNode.
public void testMultipleGroupPermissionsOnNode() throws NotExecutableException, RepositoryException {
Group testGroup = getTestGroup();
/* create a second group the test user is member of */
Principal principal = new TestPrincipal("testGroup" + UUID.randomUUID());
UserManager umgr = getUserManager(superuser);
Group group2 = umgr.createGroup(principal);
try {
group2.addMember(testUser);
if (!umgr.isAutoSave() && superuser.hasPendingChanges()) {
superuser.save();
}
/* add privileges for the Group the test-user is member of */
Privilege[] privileges = privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES);
givePrivileges(path, testGroup.getPrincipal(), privileges, getRestrictions(superuser, path));
withdrawPrivileges(path, group2.getPrincipal(), privileges, getRestrictions(superuser, path));
/*
testuser must get the permissions/privileges inherited from
the group it is member of.
the denial of group2 must succeed
*/
String actions = javax.jcr.Session.ACTION_SET_PROPERTY + "," + javax.jcr.Session.ACTION_READ;
AccessControlManager testAcMgr = getTestACManager();
assertFalse(getTestSession().hasPermission(path, actions));
Privilege[] privs = privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES);
assertFalse(testAcMgr.hasPrivileges(path, privs));
} finally {
group2.remove();
}
}
use of org.apache.jackrabbit.api.security.user.UserManager in project jackrabbit by apache.
the class GroupAdministratorTest method testRemoveMembershipForOwnAuthorizable.
public void testRemoveMembershipForOwnAuthorizable() throws RepositoryException, NotExecutableException {
UserManager umgr = getUserManager(uSession);
Authorizable user = umgr.getAuthorizable(uID);
Group gr = (Group) umgr.getAuthorizable(groupAdmin.getID());
// removing himself from group. should succeed.
assertTrue(gr.removeMember(user));
}
use of org.apache.jackrabbit.api.security.user.UserManager in project jackrabbit by apache.
the class GroupAdministratorTest method testIsGroupAdmin.
public void testIsGroupAdmin() throws RepositoryException, NotExecutableException {
UserManager umgr = getUserManager(uSession);
Group gr = (Group) umgr.getAuthorizable(grID);
assertTrue(gr.isMember(umgr.getAuthorizable(uID)));
}
use of org.apache.jackrabbit.api.security.user.UserManager in project jackrabbit by apache.
the class AuthorizableImplTest method testMultiValuedToSingle.
public void testMultiValuedToSingle() throws Exception {
AuthorizableImpl user = (AuthorizableImpl) getTestUser(superuser);
UserManager uMgr = getUserManager(superuser);
try {
Value v = superuser.getValueFactory().createValue("anyValue");
Value[] vs = new Value[] { v, v };
user.setProperty("someProp", vs);
if (!uMgr.isAutoSave()) {
superuser.save();
}
user.setProperty("someProp", v);
if (!uMgr.isAutoSave()) {
superuser.save();
}
} finally {
if (user.removeProperty("someProp") && !uMgr.isAutoSave()) {
superuser.save();
}
}
}
use of org.apache.jackrabbit.api.security.user.UserManager in project jackrabbit by apache.
the class AuthorizableImplTest method testSingleToMultiValued.
public void testSingleToMultiValued() throws Exception {
AuthorizableImpl user = (AuthorizableImpl) getTestUser(superuser);
UserManager uMgr = getUserManager(superuser);
try {
Value v = superuser.getValueFactory().createValue("anyValue");
user.setProperty("someProp", v);
if (!uMgr.isAutoSave()) {
superuser.save();
}
Value[] vs = new Value[] { v, v };
user.setProperty("someProp", vs);
if (!uMgr.isAutoSave()) {
superuser.save();
}
} finally {
if (user.removeProperty("someProp") && !uMgr.isAutoSave()) {
superuser.save();
}
}
}
Aggregations