@Override public AuthorizationResult authorizeJmxOperation(Caller caller, Environment callEnvironment, JmxAction action, JmxTarget target) { if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public Enumeration<Permission> elements() { final Iterator<ManagementPermission> iterator = iterator(); return new Enumeration<Permission>() { @Override public boolean hasMoreElements() { return iterator.hasNext(); } @Override public Permission nextElement() { return iterator.next(); } }; }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ManagementPermission that = (ManagementPermission) o; return getActionEffect() == that.getActionEffect(); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetResource target) { // TODO a direct "booting" flag might be better if (callEnvironment.getProcessState() == ControlledProcessState.State.STARTING) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public PermissionCollection getRequiredPermissions(JmxAction action, JmxTarget target) { PermsHolder currentPerms = configureRolePermissions(); ConstraintFactory[] currentFactories = currentPerms.constraintFactories; ManagementPermissionCollection result = new ManagementPermissionCollection(SimpleManagementPermission.class); for (Action.ActionEffect actionEffect : action.getActionEffects()) { Constraint[] constraints = new Constraint[currentFactories.length]; for (int i = 0; i < constraints.length; i++) { constraints[i] = currentFactories[i].getRequiredConstraint(actionEffect, action, target); } result.add(new SimpleManagementPermission(actionEffect, constraints)); } return result; }
@Override public PermissionCollection newPermissionCollection() { return new ManagementPermissionCollection(getClass()); }
@Override public String getActions() { return getActionEffect().toString(); }
@Override public AuthorizationResult authorizeJmxOperation(Caller caller, Environment callEnvironment, JmxAction action, JmxTarget target) { if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetAttribute target) { // TODO a direct "booting" flag might be better if (callEnvironment.getProcessState() == ControlledProcessState.State.STARTING) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ManagementPermission that = (ManagementPermission) o; return getActionEffect() == that.getActionEffect(); }
@Override public Enumeration<Permission> elements() { final Iterator<ManagementPermission> iterator = iterator(); return new Enumeration<Permission>() { @Override public boolean hasMoreElements() { return iterator.hasNext(); } @Override public Permission nextElement() { return iterator.next(); } }; }
@Override public PermissionCollection newPermissionCollection() { return new ManagementPermissionCollection(getClass()); }
@Override public int hashCode() { return getActionEffect().hashCode(); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetResource target) { assert assertSameAddress(action, target); if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); if (userPerms == AllPermissionsCollection.INSTANCE) { return AuthorizationResult.PERMITTED; } PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; ManagementPermission that = (ManagementPermission) o; return getActionEffect() == that.getActionEffect(); }
@Override public Enumeration<Permission> elements() { final Iterator<ManagementPermission> iterator = iterator(); return new Enumeration<Permission>() { @Override public boolean hasMoreElements() { return iterator.hasNext(); } @Override public Permission nextElement() { return iterator.next(); } }; }
@Override public PermissionCollection newPermissionCollection() { return new ManagementPermissionCollection(getClass()); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetResource target) { assert assertSameAddress(action, target); if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); if (userPerms == AllPermissionsCollection.INSTANCE) { return AuthorizationResult.PERMITTED; } PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetAttribute target) { assert assertSameAddress(action, target.getTargetResource()); if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }
@Override public AuthorizationResult authorize(Caller caller, Environment callEnvironment, Action action, TargetAttribute target) { assert assertSameAddress(action, target.getTargetResource()); if (isServerBooting(callEnvironment)) { return AuthorizationResult.PERMITTED; } PermissionCollection userPerms = permissionFactory.getUserPermissions(caller, callEnvironment, action, target); PermissionCollection requiredPerms = permissionFactory.getRequiredPermissions(action, target); return authorize(userPerms, requiredPerms); }