Source:
<code>protected boolean IsUserAutorizedToRunAction() { if (isInternalExecution) { if (log.isDebugEnabled()) { log.debugFormat("Permission check skipped for internal action {0}.", getActionType()); } return true; } if (!Config.<Boolean> GetValue(ConfigValues.IsMultilevelAdministrationOn)) { if (log.isDebugEnabled()) { log.debugFormat("Permission check for action {0} skipped because multilevel administration is disabled.", getActionType()); } return true; } <START> <END> if (getCurrentUser() == null) { addCanDoActionMessage(VdcBllMessages.USER_IS_NOT_LOGGED_IN); return false; } final Map<Guid, VdcObjectType> permSubjects = getPermissionCheckSubjects(); if (permSubjects == null || permSubjects.isEmpty()) { if (log.isDebugEnabled()) { log.debugFormat("The set of objects to check is null or empty for action {0}.", getActionType()); } addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } for (Map.Entry<Guid, VdcObjectType> entry : permSubjects.entrySet()) { final Guid objectId = entry.getKey(); final VdcObjectType objectType = entry.getValue(); if (objectId == null) { if (log.isDebugEnabled()) { log.debugFormat("The object to check is null for action {0}.", getActionType()); } addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } if (!checkUserAuthorization(getActionType().getActionGroup(), objectId, objectType)) { addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } } return true; }</code><technical_language>I removed actionGroup validation. please explain why</technical_language>

Target:
protected boolean IsUserAutorizedToRunAction() { if (isInternalExecution) { if (log.isDebugEnabled()) { log.debugFormat("Permission check skipped for internal action {0}.", getActionType()); } return true; } if (!Config.<Boolean> GetValue(ConfigValues.IsMultilevelAdministrationOn)) { if (log.isDebugEnabled()) { log.debugFormat("Permission check for action {0} skipped because multilevel administration is disabled.", getActionType()); } return true; } if (getActionType().getActionGroup() == null) { if (log.isDebugEnabled()) { log.debugFormat("No action group is defined for action {0}.", getActionType()); } return false; } if (getCurrentUser() == null) { addCanDoActionMessage(VdcBllMessages.USER_IS_NOT_LOGGED_IN); return false; } final Map<Guid, VdcObjectType> permSubjects = getPermissionCheckSubjects(); if (permSubjects == null || permSubjects.isEmpty()) { if (log.isDebugEnabled()) { log.debugFormat("The set of objects to check is null or empty for action {0}.", getActionType()); } addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } for (Map.Entry<Guid, VdcObjectType> entry : permSubjects.entrySet()) { final Guid objectId = entry.getKey(); final VdcObjectType objectType = entry.getValue(); if (objectId == null) { if (log.isDebugEnabled()) { log.debugFormat("The object to check is null for action {0}.", getActionType()); } addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } if (!checkUserAuthorization(getActionType().getActionGroup(), objectId, objectType)) { addCanDoActionMessage(VdcBllMessages.USER_NOT_AUTHORIZED_TO_PERFORM_ACTION); return false; } } return true; }