/** * Returns a clone of this Objects instance.<p> * * @return a clone of this instance */ @Override public Object clone() { return new CmsPermissionSetCustom(m_allowed, m_denied); }
/** * Sets the explicitly denied permissions in the access control entry.<p> * * @param denied the denied permissions as bitset */ public void denyPermissions(int denied) { m_permissions.denyPermissions(denied); }
/** * Returns the currently allowed permissions as bitset.<p> * * @return the allowed permissions */ public int getAllowedPermissions() { return m_permissions.getAllowedPermissions(); }
if (canIgnorePermissions) { permissions = new CmsPermissionSetCustom(~0); } else { permissions.denyPermissions(denied); if ((permissions.getPermissions() & CmsPermissionSet.PERMISSION_VIEW) == 0) { permissions.setPermissions( permissions.getAllowedPermissions() | CmsPermissionSet.PERMISSION_VIEW, permissions.getDeniedPermissions() & ~CmsPermissionSet.PERMISSION_VIEW); if ((permissions.getPermissions() & CmsPermissionSet.PERMISSION_DIRECT_PUBLISH) == 0) { permissions.setPermissions( permissions.getAllowedPermissions() | CmsPermissionSet.PERMISSION_DIRECT_PUBLISH, permissions.getDeniedPermissions() & ~CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); & (permissions.getPermissions())) == requiredPermissions.getPermissions()) { result = I_CmsPermissionHandler.PERM_ALLOWED; } else { dbc.currentUser().getName(), requiredPermissions.getPermissionString(), permissions.getPermissionString()}));
/** * Sets the allowed permissions of a given access control entry as allowed permissions in the access control list.<p> * The denied permissions are left unchanged. * * @param entry the access control entry */ public void setAllowedPermissions(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.setPermissions(entry.getAllowedPermissions(), p.getDeniedPermissions()); }
/** * Sets the denied permissions of a given access control entry as denied permissions in the access control list.<p> * The allowed permissions are left unchanged. * * @param entry the access control entry */ public void setDeniedPermissions(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.setPermissions(p.getAllowedPermissions(), entry.getDeniedPermissions()); } }
CmsPermissionSetCustom pset = new CmsPermissionSetCustom(); CmsResource resource = getResource(); try { if (getCms().hasPermissions(resource, CmsPermissionSet.ACCESS_CONTROL, false, CmsResourceFilter.ALL)) { pset.grantPermissions(CmsPermissionSet.PERMISSION_CONTROL); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_CONTROL); pset.grantPermissions(CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); pset.grantPermissions(CmsPermissionSet.PERMISSION_READ); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_READ); pset.grantPermissions(CmsPermissionSet.PERMISSION_VIEW); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_VIEW); pset.grantPermissions(CmsPermissionSet.PERMISSION_WRITE); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_WRITE);
if (canIgnorePermissions) { permissions = new CmsPermissionSetCustom(~0); } else { permissions.denyPermissions(denied); & permissions.getPermissions()) != CmsPermissionSet.ACCESS_WRITE.getPermissions()) {
/** * Adds an access control entry to the access control list.<p> * * @param entry the access control entry to add */ public void add(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.addPermissions(entry.getPermissions()); }
/** * Calculates the permissions of the given user and his groups from the access control list.<p> * The permissions are returned as permission string in the format {{+|-}{r|w|v|c|i}}*. * * @param user the user * @param groups the groups of this user * @param roles the roles of this user * * @return a string that displays the permissions */ public String getPermissionString(CmsUser user, List groups, List roles) { return getPermissions(user, groups, roles).getPermissionString(); }
/** * Sets the allowed permissions in the access control entry.<p> * * @param allowed the allowed permissions as bitset */ public void grantPermissions(int allowed) { m_permissions.grantPermissions(allowed); }
/** * @see java.lang.Object#hashCode() */ @Override public int hashCode() { if (m_permissions != null) { return m_permissions.hashCode() * m_flags; } return CmsUUID.getNullUUID().hashCode(); }
/** * Returns the currently denied permissions as bitset.<p> * * @return the denied permissions */ public int getDeniedPermissions() { return m_permissions.getDeniedPermissions(); }
/** * Returns a clone of this Objects instance.<p> * * @return a clone of this instance */ @Override public Object clone() { CmsAccessControlList acl = new CmsAccessControlList(); Iterator<CmsUUID> i = m_permissions.keySet().iterator(); while (i.hasNext()) { CmsUUID id = i.next(); acl.m_permissions.put(id, (CmsPermissionSetCustom)(m_permissions.get(id)).clone()); } return acl; }
if (canIgnorePermissions) { permissions = new CmsPermissionSetCustom(~0); } else { permissions.denyPermissions(denied); if ((permissions.getPermissions() & CmsPermissionSet.PERMISSION_VIEW) == 0) { permissions.setPermissions( permissions.getAllowedPermissions() | CmsPermissionSet.PERMISSION_VIEW, permissions.getDeniedPermissions() & ~CmsPermissionSet.PERMISSION_VIEW); if ((permissions.getPermissions() & CmsPermissionSet.PERMISSION_DIRECT_PUBLISH) == 0) { permissions.setPermissions( permissions.getAllowedPermissions() | CmsPermissionSet.PERMISSION_DIRECT_PUBLISH, permissions.getDeniedPermissions() & ~CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); if ((requiredPermissions.getPermissions() & (permissions.getPermissions())) == requiredPermissions.getPermissions()) { result = I_CmsPermissionHandler.PERM_ALLOWED; } else { dbc.currentUser().getName(), requiredPermissions.getPermissionString(), permissions.getPermissionString()}));
/** * Sets the allowed permissions of a given access control entry as allowed permissions in the access control list.<p> * The denied permissions are left unchanged. * * @param entry the access control entry */ public void setAllowedPermissions(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = (CmsPermissionSetCustom)m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.setPermissions(entry.getAllowedPermissions(), p.getDeniedPermissions()); }
/** * Sets the denied permissions of a given access control entry as denied permissions in the access control list.<p> * The allowed permissions are left unchanged. * * @param entry the access control entry */ public void setDeniedPermissions(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = (CmsPermissionSetCustom)m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.setPermissions(p.getAllowedPermissions(), entry.getDeniedPermissions()); } }
CmsPermissionSetCustom pset = new CmsPermissionSetCustom(); CmsResource resource = getResource(); try { if (getCms().hasPermissions(resource, CmsPermissionSet.ACCESS_CONTROL, false, CmsResourceFilter.ALL)) { pset.grantPermissions(CmsPermissionSet.PERMISSION_CONTROL); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_CONTROL); false, CmsResourceFilter.ALL)) { pset.grantPermissions(CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_DIRECT_PUBLISH); pset.grantPermissions(CmsPermissionSet.PERMISSION_READ); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_READ); pset.grantPermissions(CmsPermissionSet.PERMISSION_VIEW); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_VIEW); pset.grantPermissions(CmsPermissionSet.PERMISSION_WRITE); } else { pset.denyPermissions(CmsPermissionSet.PERMISSION_WRITE);
if (canIgnorePermissions) { permissions = new CmsPermissionSetCustom(~0); } else { permissions.denyPermissions(denied); if ((CmsPermissionSet.ACCESS_WRITE.getPermissions() & permissions.getPermissions()) != CmsPermissionSet.ACCESS_WRITE.getPermissions()) {
/** * Adds an access control entry to the access control list.<p> * * @param entry the access control entry to add */ public void add(CmsAccessControlEntry entry) { CmsPermissionSetCustom p = (CmsPermissionSetCustom)m_permissions.get(entry.getPrincipal()); if (p == null) { p = new CmsPermissionSetCustom(); m_permissions.put(entry.getPrincipal(), p); } p.addPermissions(entry.getPermissions()); }