|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectedu.internet2.middleware.grouper.hooks.MembershipHooks
edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeVetoMembershipHook
public class AssignReadonlyAdminPrivilegeVetoMembershipHook
assign READ to an admins group based on attribute assignment to a parent folder
configure in grouper.properties:
hooks.group.class=edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeGroupHook
hooks.membership.class=edu.internet2.middleware.grouper.hooks.examples.AssignReadonlyAdminPrivilegeVetoMembershipHook
grouper.readonlyAdminEnforced.attributeDefName = a:b:c:reaodnlyAdmin
grouper.readonlyAdminEnforced.groupName = c:d:readonlyAdmins
setup objects in GSH:
grouperSession = GrouperSession.startRootSession();
String attributeFolderName = "a:b:c";
attributeDef = new AttributeDefSave(grouperSession).assignName(attributeFolderName + ":readonlyAdminDef").assignToStem(true).assignAttributeDefType(AttributeDefType.attr).assignCreateParentStemsIfNotExist(true).assignValueType(AttributeDefValueType.marker).save();
attributeDef.getAttributeDefActionDelegate().configureActionList("assign");
attributeDefName = new AttributeDefNameSave(grouperSession, attributeDef).assignName(attributeFolderName + ":readonlyAdmin").assignCreateParentStemsIfNotExist(true).save();
groupAdmin = new GroupSave(grouperSession).assignName("c:d:readonlyAdmins").assignCreateParentStemsIfNotExist(true).save();
make a group to test:
stem = new StemSave(grouperSession).assignName("l:m").assignCreateParentStemsIfNotExist(true).save();
stem.getAttributeDelegate().assignAttribute(attributeDefName);
groupSub = new GroupSave(grouperSession).assignName("l:m:n:o").assignCreateParentStemsIfNotExist(true).save();
groupNotSub = new GroupSave(grouperSession).assignName("l:p").assignCreateParentStemsIfNotExist(true).save();
| Field Summary |
|---|
| Constructor Summary | |
|---|---|
AssignReadonlyAdminPrivilegeVetoMembershipHook()
|
|
| Method Summary | |
|---|---|
void |
membershipPreRemoveMember(HooksContext hooksContext,
HooksMembershipChangeBean preDeleteMemberBean)
called right before a membership delete (high level, not the side effects) |
| Methods inherited from class edu.internet2.middleware.grouper.hooks.MembershipHooks |
|---|
membershipPostAddMember, membershipPostCommitAddMember, membershipPostCommitDelete, membershipPostCommitInsert, membershipPostCommitRemoveMember, membershipPostCommitUpdate, membershipPostDelete, membershipPostInsert, membershipPostRemoveMember, membershipPostUpdate, membershipPreAddMember, membershipPreDelete, membershipPreInsert, membershipPreUpdate |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public AssignReadonlyAdminPrivilegeVetoMembershipHook()
| Method Detail |
|---|
public void membershipPreRemoveMember(HooksContext hooksContext,
HooksMembershipChangeBean preDeleteMemberBean)
MembershipHooks
membershipPreRemoveMember in class MembershipHooksMembershipHooks.membershipPreRemoveMember(edu.internet2.middleware.grouper.hooks.beans.HooksContext, edu.internet2.middleware.grouper.hooks.beans.HooksMembershipChangeBean)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||