bug6078/bug6079: only require READ_PUBLIC, not READ for Competitor in data mining

This commit is contained in:
Axel Uhl
2024-12-18 17:26:24 +01:00
parent 80cf54912f
commit e0d777e581
3 changed files with 16 additions and 6 deletions
@@ -14,7 +14,7 @@ import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
import com.sap.sse.security.shared.HasPermissions.DefaultActions;
import com.sap.sse.security.shared.impl.SecuredSecurityTypes;
public class RaceOfCompetitorRetrievalProcessor extends AbstractRetrievalProcessor<HasTrackedRaceContext, HasRaceOfCompetitorContext> {
/**
@@ -42,7 +42,7 @@ public class RaceOfCompetitorRetrievalProcessor extends AbstractRetrievalProcess
break;
}
final Subject subject = SecurityUtils.getSubject();
if (subject.isPermitted(competitor.getIdentifier().getStringPermission(DefaultActions.READ))) {
if (subject.isPermitted(competitor.getIdentifier().getStringPermission(SecuredSecurityTypes.PublicReadableActions.READ_PUBLIC))) {
HasRaceOfCompetitorContext raceOfCompetitorWithContext = new RaceOfCompetitorWithContext(element, competitor, settings);
raceOfCompetitorsWithContext.add(raceOfCompetitorWithContext);
}
@@ -4,6 +4,9 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.concurrent.ExecutorService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import com.sap.sailing.datamining.data.HasTrackedLegContext;
import com.sap.sailing.datamining.data.HasTrackedLegOfCompetitorContext;
import com.sap.sailing.datamining.impl.data.TrackedLegOfCompetitorWithContext;
@@ -11,6 +14,7 @@ import com.sap.sailing.datamining.shared.TackTypeSegmentsDataMiningSettings;
import com.sap.sailing.domain.base.Competitor;
import com.sap.sse.datamining.components.Processor;
import com.sap.sse.datamining.impl.components.AbstractRetrievalProcessor;
import com.sap.sse.security.shared.impl.SecuredSecurityTypes;
public class TrackedLegOfCompetitorRetrievalProcessor extends AbstractRetrievalProcessor<HasTrackedLegContext, HasTrackedLegOfCompetitorContext> {
/**
@@ -35,8 +39,11 @@ public class TrackedLegOfCompetitorRetrievalProcessor extends AbstractRetrievalP
if (isAborted()) {
break;
}
HasTrackedLegOfCompetitorContext trackedLegOfCompetitorWithContext = new TrackedLegOfCompetitorWithContext(element, element.getTrackedLeg().getTrackedLeg(competitor), settings);
trackedLegOfCompetitorsWithContext.add(trackedLegOfCompetitorWithContext);
final Subject subject = SecurityUtils.getSubject();
if (subject.isPermitted(competitor.getIdentifier().getStringPermission(SecuredSecurityTypes.PublicReadableActions.READ_PUBLIC))) {
HasTrackedLegOfCompetitorContext trackedLegOfCompetitorWithContext = new TrackedLegOfCompetitorWithContext(element, element.getTrackedLeg().getTrackedLeg(competitor), settings);
trackedLegOfCompetitorsWithContext.add(trackedLegOfCompetitorWithContext);
}
}
return trackedLegOfCompetitorsWithContext;
}