...
Code Block |
---|
import java.util.Set; import edu.internet2.middleware.grouper.FieldType; import edu.internet2.middleware.grouper.Group; import edu.internet2.middleware.grouper.GroupSave; import edu.internet2.middleware.grouper.GrouperSession; import edu.internet2.middleware.grouper.Member; import edu.internet2.middleware.grouper.Membership; import edu.internet2.middleware.grouper.MembershipFinder; import edu.internet2.middleware.grouper.Stem; import edu.internet2.middleware.grouper.StemSave; import edu.internet2.middleware.grouper.SubjectFinder; import edu.internet2.middleware.grouper.membership.MembershipType; import edu.internet2.middleware.grouper.privs.AccessPrivilege; import edu.internet2.middleware.grouper.privs.NamingPrivilege; import edu.internet2.middleware.grouper.privs.Privilege; import edu.internet2.middleware.grouper.util.GrouperUtil; import edu.internet2.middleware.subject.Subject; //public class Test36revokePrivs { // // public static void main(String[] args) { GrouperSession grouperSession = GrouperSession.startRootSession(); String subjectId = "test.subject.0"; String subjectSourceId = "jdbc"; Subject subject = SubjectFinder.findByIdAndSource(subjectId, subjectSourceId, true); // Group group1 = new GroupSave().assignName("test:test1").assignCreateParentStemsIfNotExist(true).save(); // Group group2 = new GroupSave().assignName("test:test2").assignCreateParentStemsIfNotExist(true).save(); group1.delete(); group2.delete(); group1 = new GroupSave().assignName("test:test1").assignCreateParentStemsIfNotExist(true).save(); group2 = new GroupSave().assignName("test:test2").assignCreateParentStemsIfNotExist(true).save(); // group1.grantPriv(subject, AccessPrivilege.READ, false); // group1.grantPriv(subject, AccessPrivilege.UPDATE, false); // group2.grantPriv(subject, AccessPrivilege.ADMIN, false); // // Stem stem1 = new StemSave().assignName("testtest1").assignCreateParentStemsIfNotExist(true).save(); // stem1.grantPriv(subject, NamingPrivilege.CREATE, false); // stem1.grantPriv(subject, NamingPrivilege.STEM_ATTR_READ, false); // Stem stem2 = new StemSave().assignName("test:test2").assignCreateParentStemsIfNotExist(true).save(); // stem2.grantPriv(subject, NamingPrivilege.STEM_ADMIN, false); Set<Object[]> membershipsOwnersMembers = new MembershipFinder().addSubject(subject).assignFieldType(FieldType.ACCESS). assignMembershipType(MembershipType.IMMEDIATE).findMembershipResult().getMembershipsOwnersMembers(); for (Object[] membershipOwnerMember : GrouperUtil.nonNull(membershipsOwnersMembers)) { Membership membership = (Membership)membershipOwnerMember[0]; Group group = (Group)membershipOwnerMember[1]; membership.delete(Member member = (Member)membershipOwnerMember[2]; group.revokePriv(member.getSubject(), AccessPrivilege.listToPriv(membership.getField().getName() )); System.out.println("Deleted priv from group: " + group.getName() + ": " + membership.getField().getName()); } membershipsOwnersMembers = new MembershipFinder().addSubject(subject).assignFieldType(FieldType.NAMING). assignMembershipType(MembershipType.IMMEDIATE).findMembershipResult().getMembershipsOwnersMembers(); for (Object[] membershipOwnerMember : GrouperUtil.nonNull(membershipsOwnersMembers)) { Membership membership = (Membership)membershipOwnerMember[0]; Stem stem = (Stem)membershipOwnerMember[1]; Member member = (Member)membershipOwnerMember[2]; membership.delete()stem.revokePriv(member.getSubject(), NamingPrivilege.listToPriv(membership.getField().getName() )); System.out.println("Deleted priv from folder: " + stem.getName() + ": " + membership.getField().getName()); } // } //} //Deleted priv from group: test:test1: readers //Deleted priv from group: test:test1: updaters //Deleted priv from group: test:test2: admins //Deleted priv from folder: test: stemAttrReaders //Deleted priv from folder: test: creators //Deleted priv from folder: test:test2: stemAdmins |
...