Example usage for org.springframework.security.acls.model MutableAcl getEntries

List of usage examples for org.springframework.security.acls.model MutableAcl getEntries

Introduction

In this page you can find the example usage for org.springframework.security.acls.model MutableAcl getEntries.

Prototype

List<AccessControlEntry> getEntries();

Source Link

Document

Returns all of the entries represented by the present Acl.

Usage

From source file:org.jtalks.common.security.acl.ExtendedMutableAclTest.java

@Test(dataProvider = "extendedMutableAclAndWrappedMock", description = "Checks what happens when there are no such elements in the Acl#getEntries()")
public void testDeleteList_withNoSuchEntries(ExtendedMutableAcl extendedMutableAcl, MutableAcl wrappedMock) {
    List<AccessControlEntry> entries = createEntries(wrappedMock);
    when(wrappedMock.getEntries()).thenReturn(entries.subList(0, 2));

    extendedMutableAcl.delete(entries.subList(1, 3));
    verify(wrappedMock).deleteAce(1);/*from  w w  w  .j a  va 2  s .  c  o m*/
}

From source file:org.jtalks.common.security.acl.ExtendedMutableAclTest.java

@Test(dataProvider = "extendedMutableAclAndWrappedMock")
public void testDeleteList_withEmptyList(ExtendedMutableAcl extendedMutableAcl, MutableAcl wrappedMock) {
    List<AccessControlEntry> entries = new ArrayList<AccessControlEntry>();
    when(wrappedMock.getEntries()).thenReturn(entries);

    extendedMutableAcl.delete(entries);//from w ww .j  a v a 2s  . co  m
    verify(wrappedMock, times(0)).deleteAce(anyInt());
}

From source file:org.jtalks.common.security.acl.AclManager.java

private List<GroupAce> getGroupPermissions(MutableAcl branchAcl) {
    List<AccessControlEntry> originalAces = branchAcl.getEntries();
    List<GroupAce> resultingAces = new ArrayList<GroupAce>(originalAces.size());
    for (AccessControlEntry originalAce : originalAces) {
        if (originalAce.getSid() instanceof UserGroupSid) {
            resultingAces.add(new GroupAce(originalAce));
        }//from  ww w. j  av  a 2 s . co m
    }
    return resultingAces;
}

From source file:org.jtalks.common.security.acl.ExtendedMutableAclTest.java

@Test(dataProvider = "extendedMutableAclAndWrappedMock")
public void testDelete(ExtendedMutableAcl extendedMutableAcl, MutableAcl wrappedMock) throws Exception {
    List<AccessControlEntry> entries = createEntries(wrappedMock);
    when(wrappedMock.getEntries()).thenReturn(entries);

    assertEquals(2, extendedMutableAcl.delete(entries.get(2)));
    verify(wrappedMock).deleteAce(2);//from  www . j a  va 2  s.  com
}

From source file:org.jtalks.common.security.acl.ExtendedMutableAclTest.java

@Test(dataProvider = "extendedMutableAclAndWrappedMock")
public void testDeleteList(ExtendedMutableAcl extendedMutableAcl, MutableAcl wrappedMock) throws Exception {
    List<AccessControlEntry> entries = createEntries(wrappedMock);
    when(wrappedMock.getEntries()).thenReturn(entries);

    extendedMutableAcl.delete(entries.subList(1, 3));
    verify(wrappedMock).deleteAce(1);/*from w w  w .  j ava 2s  .c o  m*/
    verify(wrappedMock).deleteAce(2);
}

From source file:org.jtalks.common.service.security.AclManagerImpl.java

/**
 * Delete permissions from {@code acl} for every sid.
 * @param acl           provided acl/*w w w. j  a  v a 2s . c  om*/
 * @param sids          list of sids
 * @param permissions   list of permissions
 */
private void deletePermissionsFromAcl(MutableAcl acl, List<Sid> sids, List<Permission> permissions) {
    List<AccessControlEntry> entries = acl.getEntries(); // it's copy
    int i = 0;
    // search for sid-permission pair
    for (AccessControlEntry entry : entries) {
        for (Sid recipient : sids) {
            for (Permission permission : permissions) {
                if (entry.getSid().equals(recipient) && entry.getPermission().equals(permission)) {
                    acl.deleteAce(i); // delete from original list
                    i--; // because list item deleted in original list
                }
            }
        }
        i++;
    }
}

From source file:org.jtalks.common.security.acl.AclManager.java

/**
 * @deprecated use {@link #getGroupPermissionsOn}
 */// w  w w.j  av a 2  s. c o m
@Deprecated()
public List<GroupAce> getBranchPermissions(Branch branch) {
    MutableAcl branchAcl = aclUtil.getAclFor(branch);
    List<AccessControlEntry> originalAces = branchAcl.getEntries();
    List<GroupAce> resultingAces = new ArrayList<GroupAce>(originalAces.size());
    for (AccessControlEntry entry : originalAces) {
        resultingAces.add(new GroupAce(entry));
    }
    return resultingAces;
}

From source file:com.sshdemo.common.security.acl.service.EwcmsAclService.java

@Override
public void addPermission(Object object, Sid sid, Permission permission) {
    ObjectIdentity objectIdentity = new ObjectIdentityImpl(object);

    MutableAcl acl = getMutableAcl(objectIdentity);
    acl.insertAce(acl.getEntries().size(), permission, sid, Boolean.TRUE);
    updateAcl(acl);//w w  w  .j  a  v  a  2  s  . c o m
}

From source file:com.sshdemo.common.security.acl.service.EwcmsAclService.java

@Override
public void removePermission(Object object, String name) {
    ObjectIdentity objectIdentity = new ObjectIdentityImpl(object);
    MutableAcl acl = (MutableAcl) readAclById(objectIdentity);

    if (acl.getEntries() == null || acl.getEntries().isEmpty()) {
        return;//from www .  ja va 2 s.c om
    }

    for (int i = 0; i < acl.getEntries().size(); i++) {
        AccessControlEntry entry = acl.getEntries().get(i);
        if (entry.getSid().equals(getSid(name))) {
            acl.deleteAce(i);
            updateAcl(acl);
            break;
        }
    }
}

From source file:org.jtalks.common.service.security.AclManagerImpl.java

/**
 * Apply every permission from list to every sid from list.
 *
 * @param sids        list of sids/*from w w  w  .j a va 2  s . c o  m*/
 * @param permissions list of permissions
 * @param target      securable object
 * @param acl         ACL of this object
 * @param granting grant if true, revoke if false
 */
private void applyPermissionsToSids(List<Sid> sids, List<Permission> permissions, Entity target, MutableAcl acl,
        boolean granting) {

    deletePermissionsFromAcl(acl, sids, permissions);

    int aclIndex = acl.getEntries().size();
    for (Sid recipient : sids) {
        for (Permission permission : permissions) {
            // add permission to acl for recipient
            acl.insertAce(aclIndex++, permission, recipient, granting);
            logger.debug("Added permission mask {} for Sid {} securedObject {} id {}", new Object[] {
                    permission.getMask(), recipient, target.getClass().getSimpleName(), target.getId() });
        }
    }
}