List of usage examples for org.springframework.security.acls.model Permission toString
public String toString()
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); } }