@Override public boolean removeACEsByUsername(String username) { boolean changed = false; for (ACL acl : acls) { boolean aclChanged = acl.removeByUsername(username); if (aclChanged) { addACL(acl); changed = true; } } return changed; }
@Override public boolean removeACE(String aclName, ACE ace) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.remove(ace); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean unblockInheritance(String aclName) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.unblockInheritance(); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean replaceACE(String aclName, ACE oldACE, ACE newACE) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.replace(oldACE, newACE); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean removeACEsByUsername(String aclName, String username) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.removeByUsername(username); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean blockInheritance(String aclName, String username) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } if (username == null) { throw new NullPointerException("'username' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.blockInheritance(username); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public boolean addACE(String aclName, ACE ace) { if (aclName == null) { throw new NullPointerException("'aclName' cannot be null"); } ACL acl = getOrCreateACL(aclName); boolean aclChanged = acl.add(ace); if (aclChanged) { addACL(acl); } return aclChanged; }
@Override public ACL getOrCreateACL(String name) { ACL acl = getACL(name); if (acl == null) { acl = new ACLImpl(name); addACL(acl); } return acl; }
public void addAccessRule(String aclName, ACE ace) { ACL acl = getACL(aclName); if (acl == null) { acl = new ACLImpl(aclName); addACL(acl); } acl.add(ace); }
@Override public void setRules(String aclName, UserEntry[] userEntries, boolean overwrite) { ACL acl = getACL(aclName); if (acl == null) { // create the loca ACL acl = new ACLImpl(aclName); addACL(acl); } else if (overwrite) { // :XXX: Should not overwrite entries not given as parameters here. acl.clear(); } for (UserEntry entry : userEntries) { String username = entry.getUserName(); for (String permission : entry.getGrantedPermissions()) { acl.add(new ACE(username, permission, true)); } for (String permission : entry.getDeniedPermissions()) { acl.add(new ACE(username, permission, false)); } } cache.clear(); }
/** * ajout une ace sur un document * * @param session * @param ref * @param ace * @throws NuxeoException */ public static void setACE(CoreSession session, DocumentRef ref, ACE ace) throws NuxeoException { ACPImpl acp = new ACPImpl(); ACLImpl acl = new ACLImpl(ACL.LOCAL_ACL); acp.addACL(acl); acl.add(ace); session.setACP(ref, acp, false); }
/** * ajout une ace sur un document * @param session * @param ref * @param ace * @throws ClientException */ public static void setACE(CoreSession session, DocumentRef ref,ACE ace) throws ClientException { ACPImpl acp = new ACPImpl(); ACLImpl acl = new ACLImpl(ACL.LOCAL_ACL); acp.addACL(acl); acl.add(ace); session.setACP(ref, acp, false); }
protected void setACE(DocumentRef ref) { ACPImpl acp = new ACPImpl(); ACLImpl acl = new ACLImpl(aclName); acp.addACL(acl); ACE ace = new ACE(user, permission, grant); acl.add(ace); session.setACP(ref, acp, overwrite); }
@POST @Path("add") public Response postPermission() { HttpServletRequest req = ctx.getRequest(); String action = req.getParameter("action"); String permission = req.getParameter("permission"); String username = req.getParameter("user"); UserManager userManager = Framework.getService(UserManager.class); NuxeoPrincipal user = userManager.getPrincipal(username); if (user == null) { NuxeoGroup group = userManager.getGroup(username); if (group == null) { return Response.status(500).build(); } } ACPImpl acp = new ACPImpl(); ACLImpl acl = new ACLImpl(ACL.LOCAL_ACL); acp.addACL(acl); boolean granted = "grant".equals(action); ACE ace = new ACE(username, permission, granted); acl.add(ace); CoreSession session = ctx.getCoreSession(); Resource target = getTarget(); session.setACP(target.getAdapter(DocumentModel.class).getRef(), acp, false); session.save(); return redirect(target.getPath()); }
protected static void setLocalAcl(CoreSession session, DocumentModel doc, String value) { ACPImpl acp = new ACPImpl(); ACLImpl acl = new ACLImpl(ACL.LOCAL_ACL); acp.addACL(acl); String[] entries = StringUtils.split(value, ',', true); if (entries.length == 0) { return; } for (String entry : entries) { String[] ace = StringUtils.split(entry, ':', true); acl.add(new ACE(ace[0], ace[1], Boolean.parseBoolean(ace[2]))); } session.setACP(doc.getRef(), acp, false); }