|
@@ -22,13 +22,16 @@ import java.util.List;
|
|
|
import org.apache.mybatis.jpa.persistence.JpaBaseService;
|
|
|
import org.maxkey.domain.Groups;
|
|
|
import org.maxkey.persistence.mapper.GroupsMapper;
|
|
|
+import org.maxkey.util.StringUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Qualifier;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
@Service
|
|
|
public class GroupsService extends JpaBaseService<Groups>{
|
|
|
-
|
|
|
+ final static Logger _logger = LoggerFactory.getLogger(GroupsService.class);
|
|
|
@Autowired
|
|
|
@Qualifier("groupMemberService")
|
|
|
GroupMemberService groupMemberService;
|
|
@@ -62,10 +65,22 @@ public class GroupsService extends JpaBaseService<Groups>{
|
|
|
if(dynamicGroup.getOrgIdsList()!=null && !dynamicGroup.getOrgIdsList().equals("")) {
|
|
|
dynamicGroup.setOrgIdsList("'"+dynamicGroup.getOrgIdsList().replace(",", "','")+"'");
|
|
|
}
|
|
|
+ String filters = dynamicGroup.getFilters();
|
|
|
+ if(StringUtils.filtersSQLInjection(filters.toLowerCase())) {
|
|
|
+ _logger.info("filters include SQL Injection Attack Risk.");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ filters = filters.replace("&", " AND ");
|
|
|
+ filters = filters.replace("|", " OR ");
|
|
|
+
|
|
|
+ dynamicGroup.setFilters(filters);
|
|
|
|
|
|
groupMemberService.deleteDynamicGroupMember(dynamicGroup);
|
|
|
groupMemberService.addDynamicGroupMember(dynamicGroup);
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
}
|