Example usage for org.springframework.security.acls.model Permission toString

List of usage examples for org.springframework.security.acls.model Permission toString

Introduction

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

Prototype

public String toString() 

Source Link

Document

Returns a string representation of the object.

Usage

From source file:org.collectionspace.services.authorization.spring.SpringPermissionManager.java

/**
 * addPermissions adds permissions according to the given grant for given
 * resource#action for each given principal
 * @param res/*from   w ww  .j  a  va  2s . com*/
 * @param action
 * @param principals
 * @param grant
 * @throws PermissionException
 */
@Override
public void addPermissions(CSpaceResource res, CSpaceAction action, String[] principals, boolean grant)
        throws PermissionException {
    ObjectIdentity oid = SpringAuthorizationProvider.getObjectIdentity(res);
    Sid[] sids = SpringAuthorizationProvider.getSids(principals);
    Permission p = SpringAuthorizationProvider.getPermission(action);
    TransactionStatus status = provider.beginTransaction("addPermssions");

    //add permission for each sid
    for (Sid sid : sids) {
        try {
            addPermission(oid, p, sid, grant);
            if (log.isDebugEnabled()) {
                log.debug("addpermissions(res,action,prin[], grant), success for " + " res=" + res.toString()
                        + " action=" + action.toString() + " grant=" + grant + " oid=" + oid.toString()
                        + " perm=" + p.toString() + " sid=" + sid.toString());
            }

        } catch (AlreadyExistsException aex) {
            if (log.isWarnEnabled()) {
                log.warn("addpermissions(res,action,prin[], grant) failed," + " oid=" + oid.toString() + " res="
                        + res.toString() + " grant=" + grant + " action=" + action.toString() + " oid="
                        + oid.toString() + " perm=" + p.toString(), aex);
            }
            //keep going
        } catch (Exception ex) {
            String msg = "addpermissions(res,action,prin[], grant) failed," + " oid=" + oid.toString() + " res="
                    + res.toString() + " action=" + action.toString() + " oid=" + oid.toString() + " perm="
                    + p.toString() + " grant=" + grant;
            if (log.isDebugEnabled()) {
                log.debug(msg, ex);
            }
            //don't know what might be wrong...stop
            provider.rollbackTransaction(status);
            if (ex instanceof PermissionException) {
                throw (PermissionException) ex;
            }
            throw new PermissionException(msg, ex);
        }
    } //rof
    provider.commitTransaction(status);
    if (log.isDebugEnabled()) {
        log.debug("addpermissions(res,action,prin[], grant), success for " + " res=" + res.toString()
                + " action=" + action.toString() + " grant=" + grant + " oid=" + oid.toString() + " perm="
                + p.toString() + " sids=" + sids.toString());
    }
}

From source file:org.collectionspace.services.authorization.spring.SpringPermissionManager.java

/**
 * deletePermissions removes permisions for given resource#action for each given principal
 * @param res//from w ww. jav a 2 s . c o m
 * @param action
 * @param principals
 * @throws PermissionNotFoundException
 * @throws PermissionException
 */
@Override
public void deletePermissions(CSpaceResource res, CSpaceAction action, String[] principals)
        throws PermissionNotFoundException, PermissionException {
    ObjectIdentity oid = SpringAuthorizationProvider.getObjectIdentity(res);
    Sid[] sids = SpringAuthorizationProvider.getSids(principals);
    Permission p = SpringAuthorizationProvider.getPermission(action);
    TransactionStatus status = provider.beginTransaction("deletePermssions");
    //delete permission for each sid
    for (Sid sid : sids) {
        try {
            deletePermissions(oid, p, sid);
            if (log.isDebugEnabled()) {
                log.debug("deletedpermissions(res,action,prin[]), success for " + " res=" + res.toString()
                        + " action=" + action.toString() + " oid=" + oid.toString() + " perm=" + p.toString()
                        + " sid=" + sid.toString());
            }
        } catch (AclDataAccessException aex) {
            if (log.isWarnEnabled()) {
                log.debug("deletepermissions(res,action,prin[]) failed, " + " oid=" + oid.toString() + " res="
                        + res.toString() + " action=" + action.toString() + " oid=" + oid.toString() + " perm="
                        + p.toString(), aex);
            }
            //keep going
        } catch (Exception ex) {
            String msg = "deletepermissions(res,action,prin[]) failed," + " oid=" + oid.toString() + " res="
                    + res.toString() + " action=" + action.toString() + " oid=" + oid.toString() + " perm="
                    + p.toString();
            if (log.isDebugEnabled()) {
                log.debug(msg, ex);
            }
            //don't know what might be wrong...stop
            provider.rollbackTransaction(status);
            if (ex instanceof PermissionException) {
                throw (PermissionException) ex;
            }
            throw new PermissionException(msg, ex);
        }
    }
    provider.commitTransaction(status);
    if (log.isDebugEnabled()) {
        log.debug("deletedpermissions(res,action,prin[]), success for " + " res=" + res.toString() + " action="
                + action.toString() + " oid=" + oid.toString() + " perm=" + p.toString() + " sids="
                + sids.toString());
    }
}

From source file:org.collectionspace.services.authorization.spring.SpringPermissionManager.java

/**
 * deletePermissions/*from   www .  ja v  a 2 s .  c o m*/
 * @param res
 * @param action
 * @throws PermissionNotFoundException
 * @throws PermissionException
 */
//non-javadoc NOTE: this is a very destructive operation. it would remove all permissions
//to access given resource#action for ANY role including administrators
@Override
public void deletePermissions(CSpaceResource res, CSpaceAction action)
        throws PermissionNotFoundException, PermissionException {
    ObjectIdentity oid = SpringAuthorizationProvider.getObjectIdentity(res);
    Permission p = SpringAuthorizationProvider.getPermission(action);
    TransactionStatus status = provider.beginTransaction("deletePermssions");
    try {
        deletePermissions(oid, p, null);
        provider.commitTransaction(status);
        if (log.isDebugEnabled()) {
            log.debug("deletepermissions(res,action) success, " + " res=" + res.toString() + " action="
                    + action.toString() + " oid=" + oid.toString() + " perm=" + p.toString());
        }
    } catch (AclDataAccessException aex) {
        provider.rollbackTransaction(status);
        log.debug(
                "deletepermissions(res,action) failed," + " oid=" + oid.toString() + " res=" + res.toString()
                        + " action=" + action.toString() + " oid=" + oid.toString() + " perm=" + p.toString(),
                aex);
        throw new PermissionException(aex);
    } catch (Exception ex) {
        provider.rollbackTransaction(status);
        String msg = "deletepermissions(res,action,prin[]) failed," + " oid=" + oid.toString() + " res="
                + res.toString() + " action=" + action.toString() + " oid=" + oid.toString() + " perm="
                + p.toString();
        if (log.isDebugEnabled()) {
            log.debug(msg, ex);
        }
        if (ex instanceof PermissionException) {
            throw (PermissionException) ex;
        }
        throw new PermissionException(msg, ex);
    }

}

From source file:org.collectionspace.services.authorization.spring.SpringPermissionManager.java

/**
 * addPermission adds permission grant for given object identity for given permission
 * for given sid/*from   ww w. ja  va 2  s.c o  m*/
 * @param oid
 * @param permission
 * @param sid
 * @param grant
 * @throws PermissionException
 */
private void addPermission(ObjectIdentity oid, Permission permission, Sid sid, boolean grant)
        throws PermissionException {
    MutableAcl acl;

    try {
        acl = getAcl(oid);
    } catch (NotFoundException nfe) {
        if (log.isDebugEnabled()) {
            log.debug("addPermission: acl not found for oid=" + oid.toString() + " perm="
                    + permission.toString() + " sid=" + sid.toString() + " grant=" + grant + " adding...");
        }
        acl = provider.getProviderAclService().createAcl(oid);
    }
    acl.insertAce(acl.getEntries().size(), permission, sid, grant);
    provider.getProviderAclService().updateAcl(acl);

    if (log.isDebugEnabled()) {
        log.debug("addPermission: added acl for oid=" + oid.toString() + " perm=" + permission.toString()
                + " sid=" + sid.toString() + " grant=" + grant);
    }
}