Example usage for org.springframework.security.acls.model NotFoundException getMessage

List of usage examples for org.springframework.security.acls.model NotFoundException getMessage

Introduction

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

Prototype

public String getMessage() 

Source Link

Document

Returns the detail message string of this throwable.

Usage

From source file:org.createnet.raptor.auth.service.services.AclManagerService.java

@Override
public <T> boolean isPermissionGranted(Class<T> clazz, Serializable identifier, Sid sid,
        Permission permission) {/*from   w  w  w. ja  v a2s.c o m*/
    ObjectIdentity identity = new ObjectIdentityImpl(clazz.getCanonicalName(), identifier);
    MutableAcl acl = (MutableAcl) aclService.readAclById(identity);
    boolean isGranted = false;

    try {
        log.debug("Check if {} can {} on {}:{}", sid, RaptorPermission.toLabel(permission), clazz, identifier);
        isGranted = acl.isGranted(Arrays.asList(permission), Arrays.asList(sid), false);
        log.debug("{} {}ALLOWED {} on {}:{}", sid, (isGranted ? "" : "NOT "),
                RaptorPermission.toLabel(permission), clazz, identifier);
    } catch (NotFoundException e) {
        log.info("Unable to find an ACE for {} on {}:{} - {}", RaptorPermission.toLabel(permission), clazz,
                identifier, e.getMessage());
    } catch (UnloadedSidException e) {
        log.error("Unloaded Sid for {} on {}:{} - {}", RaptorPermission.toLabel(permission), clazz, identifier,
                e.getMessage(), e);
    }

    return isGranted;
}

From source file:org.createnet.raptor.auth.service.services.AclManagerService.java

@Retryable(maxAttempts = 3, value = AclManagerException.class, backoff = @Backoff(delay = 200, multiplier = 3))
private void isPermissionGranted(Permission permission, Sid sid, MutableAcl acl) {
    try {//w w w  .  j  a v a2 s.com
        try {
            acl.isGranted(Arrays.asList(permission), Arrays.asList(sid), false);
        } catch (NotFoundException e) {
            acl.insertAce(acl.getEntries().size(), permission, sid, true);
        }
    } catch (Exception e) {
        log.warn("Failed to add ACE: {}", e.getMessage());
        throw new AclManagerException(e);
    }
}

From source file:org.apache.kylin.rest.service.AccessService.java

private MutableAcl deleteAndUpdate(MutableAcl acl, int indexOfAce) {
    if (indexOfAce != -1) {
        secureOwner(acl, indexOfAce);//from w  ww  .  j  a va  2s  .co m
        try {
            acl.deleteAce(indexOfAce);
            acl = aclService.updateAcl(acl);
        } catch (NotFoundException e) {
            throw new RuntimeException("Revoke acl fail." + e.getMessage());
        }
    }
    return acl;
}

From source file:org.apache.kylin.rest.service.AclService.java

@Override
public MutableAcl createAcl(ObjectIdentity objectIdentity) throws AlreadyExistsException {
    Acl acl = null;/*from   w ww.  j av a2s  .co m*/

    try {
        acl = readAclById(objectIdentity);
    } catch (NotFoundException e) {
        //do nothing?
    }
    if (null != acl) {
        throw new AlreadyExistsException("ACL of " + objectIdentity + " exists!");
    }

    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    PrincipalSid sid = new PrincipalSid(auth);

    HTableInterface htable = null;
    try {
        htable = aclHBaseStorage.getTable(aclTableName);

        Put put = new Put(Bytes.toBytes(String.valueOf(objectIdentity.getIdentifier())));
        put.add(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY), Bytes.toBytes(ACL_INFO_FAMILY_TYPE_COLUMN),
                Bytes.toBytes(objectIdentity.getType()));
        put.add(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY), Bytes.toBytes(ACL_INFO_FAMILY_OWNER_COLUMN),
                sidSerializer.serialize(new SidInfo(sid)));
        put.add(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                Bytes.toBytes(ACL_INFO_FAMILY_ENTRY_INHERIT_COLUMN), Bytes.toBytes(true));

        htable.put(put);
        htable.flushCommits();

        logger.debug("ACL of " + objectIdentity + " created successfully.");
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(htable);
    }

    return (MutableAcl) readAclById(objectIdentity);
}

From source file:org.apache.kylin.rest.service.AclService.java

@Override
public MutableAcl updateAcl(MutableAcl acl) throws NotFoundException {
    try {//from   www  . ja v a  2s  . c om
        readAclById(acl.getObjectIdentity());
    } catch (NotFoundException e) {
        throw e;
    }

    HTableInterface htable = null;
    try {
        htable = aclHBaseStorage.getTable(aclTableName);

        Delete delete = new Delete(Bytes.toBytes(String.valueOf(acl.getObjectIdentity().getIdentifier())));
        delete.deleteFamily(Bytes.toBytes(AclHBaseStorage.ACL_ACES_FAMILY));
        htable.delete(delete);

        Put put = new Put(Bytes.toBytes(String.valueOf(acl.getObjectIdentity().getIdentifier())));

        if (null != acl.getParentAcl()) {
            put.add(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                    Bytes.toBytes(ACL_INFO_FAMILY_PARENT_COLUMN), domainObjSerializer
                            .serialize(new DomainObjectInfo(acl.getParentAcl().getObjectIdentity())));
        }

        for (AccessControlEntry ace : acl.getEntries()) {
            AceInfo aceInfo = new AceInfo(ace);
            put.add(Bytes.toBytes(AclHBaseStorage.ACL_ACES_FAMILY),
                    Bytes.toBytes(aceInfo.getSidInfo().getSid()), aceSerializer.serialize(aceInfo));
        }

        if (!put.isEmpty()) {
            htable.put(put);
            htable.flushCommits();

            logger.debug("ACL of " + acl.getObjectIdentity() + " updated successfully.");
        }
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(htable);
    }

    return (MutableAcl) readAclById(acl.getObjectIdentity());
}

From source file:org.apache.kylin.rest.service.LegacyAclService.java

@Override
public MutableAcl createAcl(ObjectIdentity objectIdentity) throws AlreadyExistsException {
    Acl acl = null;//w  ww  .  ja  v  a2 s.  co m

    try {
        acl = readAclById(objectIdentity);
    } catch (NotFoundException e) {
        //do nothing?
    }
    if (null != acl) {
        throw new AlreadyExistsException("ACL of " + objectIdentity + " exists!");
    }

    Authentication auth = SecurityContextHolder.getContext().getAuthentication();
    PrincipalSid sid = new PrincipalSid(auth);

    Table htable = null;
    try {
        htable = aclHBaseStorage.getTable(aclTableName);

        Put put = new Put(Bytes.toBytes(String.valueOf(objectIdentity.getIdentifier())));
        put.addColumn(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                Bytes.toBytes(ACL_INFO_FAMILY_TYPE_COLUMN), Bytes.toBytes(objectIdentity.getType()));
        put.addColumn(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                Bytes.toBytes(ACL_INFO_FAMILY_OWNER_COLUMN), sidSerializer.serialize(new SidInfo(sid)));
        put.addColumn(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                Bytes.toBytes(ACL_INFO_FAMILY_ENTRY_INHERIT_COLUMN), Bytes.toBytes(true));

        htable.put(put);

        logger.debug("ACL of " + objectIdentity + " created successfully.");
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(htable);
    }

    return (MutableAcl) readAclById(objectIdentity);
}

From source file:org.apache.kylin.rest.service.LegacyAclService.java

@Override
public MutableAcl updateAcl(MutableAcl acl) throws NotFoundException {
    try {/*  w ww .java  2 s .  c  om*/
        readAclById(acl.getObjectIdentity());
    } catch (NotFoundException e) {
        throw e;
    }

    Table htable = null;
    try {
        htable = aclHBaseStorage.getTable(aclTableName);

        Delete delete = new Delete(Bytes.toBytes(String.valueOf(acl.getObjectIdentity().getIdentifier())));
        delete.deleteFamily(Bytes.toBytes(AclHBaseStorage.ACL_ACES_FAMILY));
        htable.delete(delete);

        Put put = new Put(Bytes.toBytes(String.valueOf(acl.getObjectIdentity().getIdentifier())));

        if (null != acl.getParentAcl()) {
            put.addColumn(Bytes.toBytes(AclHBaseStorage.ACL_INFO_FAMILY),
                    Bytes.toBytes(ACL_INFO_FAMILY_PARENT_COLUMN), domainObjSerializer
                            .serialize(new DomainObjectInfo(acl.getParentAcl().getObjectIdentity())));
        }

        for (AccessControlEntry ace : acl.getEntries()) {
            AceInfo aceInfo = new AceInfo(ace);
            put.addColumn(Bytes.toBytes(AclHBaseStorage.ACL_ACES_FAMILY),
                    Bytes.toBytes(aceInfo.getSidInfo().getSid()), aceSerializer.serialize(aceInfo));
        }

        if (!put.isEmpty()) {
            htable.put(put);

            logger.debug("ACL of " + acl.getObjectIdentity() + " updated successfully.");
        }
    } catch (IOException e) {
        throw new RuntimeException(e.getMessage(), e);
    } finally {
        IOUtils.closeQuietly(htable);
    }

    return (MutableAcl) readAclById(acl.getObjectIdentity());
}