Skip to content

Commit 861643d

Browse files
AMM-1239 : Role based broken access control (#96)
* role added * Introductory Call Allocation Changes * fix(bug) :Isfurthercallrequired update fix * Unallocate Change * AMM-1239 * Code rabbit comments addressed * Code rabbit comments * review comments updated * @PreAuthorize("hasRole('SUPERVISOR')") Added for EcdQuestionareController * Role based Authentication * Security Hotspot fix * Update SecurityConfig.java * Coderabbit comments updated
1 parent 6ab7b18 commit 861643d

20 files changed

Lines changed: 273 additions & 4 deletions

pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,10 @@
246246
<version>0.12.6</version>
247247
<scope>runtime</scope>
248248
</dependency>
249+
<dependency>
250+
<groupId>org.springframework.boot</groupId>
251+
<artifactId>spring-boot-starter-security</artifactId>
252+
</dependency>
249253
</dependencies>
250254

251255

src/main/java/com/iemr/ecd/controller/dataupload/DataTemplateController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import org.springframework.http.MediaType;
3131
import org.springframework.http.ResponseEntity;
3232

33+
import org.springframework.security.access.prepost.PreAuthorize;
3334
import org.springframework.web.bind.annotation.GetMapping;
3435
import org.springframework.web.bind.annotation.PathVariable;
3536
import org.springframework.web.bind.annotation.PostMapping;
@@ -48,6 +49,7 @@
4849

4950
@RestController
5051
@RequestMapping(value = "/dataTemplate", headers = "Authorization")
52+
@PreAuthorize("hasRole('SUPERVISOR')")
5153
public class DataTemplateController {
5254

5355
@Autowired

src/main/java/com/iemr/ecd/controller/dataupload/DataUploadController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.http.MediaType;
2727
import org.springframework.http.ResponseEntity;
2828

29+
import org.springframework.security.access.prepost.PreAuthorize;
2930
import org.springframework.web.bind.annotation.PostMapping;
3031
import org.springframework.web.bind.annotation.RequestBody;
3132
import org.springframework.web.bind.annotation.RequestHeader;
@@ -41,6 +42,7 @@
4142
import io.swagger.v3.oas.annotations.responses.ApiResponses;
4243

4344
@RestController
45+
@PreAuthorize("hasRole('SUPERVISOR')")
4446
public class DataUploadController {
4547

4648
@Autowired

src/main/java/com/iemr/ecd/controller/outboundworklist/CallStatisticsController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.http.MediaType;
2727
import org.springframework.http.ResponseEntity;
2828

29+
import org.springframework.security.access.prepost.PreAuthorize;
2930
import org.springframework.web.bind.annotation.GetMapping;
3031
import org.springframework.web.bind.annotation.PathVariable;
3132
import org.springframework.web.bind.annotation.RequestMapping;
@@ -41,7 +42,7 @@
4142
import io.swagger.v3.oas.annotations.responses.ApiResponses;
4243

4344
@RestController
44-
@RequestMapping(value = "/agent", headers = "Authorization")
45+
@PreAuthorize("hasRole('SUPERVISOR') || hasRole('QUALITY_SUPERVISOR') || hasRole('QUALITY_AUDITOR')")
4546
public class CallStatisticsController {
4647

4748
@Autowired

src/main/java/com/iemr/ecd/controller/outboundworklist/OutBoundWorklistController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.springframework.http.MediaType;
3030
import org.springframework.http.ResponseEntity;
3131

32+
import org.springframework.security.access.prepost.PreAuthorize;
3233
import org.springframework.web.bind.annotation.GetMapping;
3334
import org.springframework.web.bind.annotation.PathVariable;
3435
import org.springframework.web.bind.annotation.RequestMapping;
@@ -48,6 +49,7 @@
4849

4950
@RestController
5051
@RequestMapping(value = "/outbound-worklist", headers = "Authorization")
52+
@PreAuthorize("hasRole('ANM') || hasRole('MO') || hasRole('ASSOCIATE')")
5153
public class OutBoundWorklistController {
5254

5355
@Autowired

src/main/java/com/iemr/ecd/controller/quality/ChartsController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.springframework.http.MediaType;
2929
import org.springframework.http.ResponseEntity;
3030

31+
import org.springframework.security.access.prepost.PreAuthorize;
3132
import org.springframework.web.bind.annotation.GetMapping;
3233
import org.springframework.web.bind.annotation.PathVariable;
3334
import org.springframework.web.bind.annotation.RequestMapping;
@@ -44,6 +45,7 @@
4445

4546
@RestController
4647
@RequestMapping(value = "/charts", headers = "Authorization")
48+
@PreAuthorize("hasRole('SUPERVISOR') || hasRole('QUALITY_SUPERVISOR') || hasRole('QUALITY_AUDITOR')")
4749
public class ChartsController {
4850

4951
@Autowired

src/main/java/com/iemr/ecd/controller/quality/GradeConfigurationController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.springframework.http.MediaType;
2929
import org.springframework.http.ResponseEntity;
3030

31+
import org.springframework.security.access.prepost.PreAuthorize;
3132
import org.springframework.web.bind.annotation.GetMapping;
3233
import org.springframework.web.bind.annotation.PathVariable;
3334
import org.springframework.web.bind.annotation.PostMapping;
@@ -47,6 +48,7 @@
4748

4849
@RestController
4950
@RequestMapping(value = "/gradeConfiguration", headers = "Authorization")
51+
@PreAuthorize("hasRole('QUALITY_SUPERVISOR')")
5052
public class GradeConfigurationController {
5153

5254
@Autowired

src/main/java/com/iemr/ecd/controller/quality/QualityAuditController.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
import org.springframework.http.HttpStatus;
2828
import org.springframework.http.MediaType;
2929
import org.springframework.http.ResponseEntity;
30-
30+
import org.springframework.security.access.prepost.PreAuthorize;
3131
import org.springframework.web.bind.annotation.GetMapping;
3232
import org.springframework.web.bind.annotation.PathVariable;
3333
import org.springframework.web.bind.annotation.PostMapping;
@@ -55,6 +55,7 @@
5555

5656
@RestController
5757
@RequestMapping(value = "/qualityAudit", headers = "Authorization")
58+
@PreAuthorize("hasRole('QUALITY_AUDITOR')")
5859
public class QualityAuditController {
5960
@Autowired
6061
private QualityAuditImpl qualityAuditImpl;

src/main/java/com/iemr/ecd/controller/quality/QualityAuditQuestionConfigurationController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.springframework.http.MediaType;
2929
import org.springframework.http.ResponseEntity;
3030

31+
import org.springframework.security.access.prepost.PreAuthorize;
3132
import org.springframework.web.bind.annotation.GetMapping;
3233
import org.springframework.web.bind.annotation.PathVariable;
3334
import org.springframework.web.bind.annotation.PostMapping;
@@ -48,6 +49,7 @@
4849

4950
@RestController
5051
@RequestMapping(value = "/questionnaireConfiguration", headers = "Authorization")
52+
@PreAuthorize("hasRole('QUALITY_SUPERVISOR') || hasRole('QUALITY_AUDITOR')")
5153
public class QualityAuditQuestionConfigurationController {
5254
@Autowired
5355
private QualityAuditQuestionConfigurationImpl qualityAuditQuestionConfigurationImpl;

src/main/java/com/iemr/ecd/controller/quality/QualityAuditSectionConfigurationController.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.springframework.http.MediaType;
2929
import org.springframework.http.ResponseEntity;
3030

31+
import org.springframework.security.access.prepost.PreAuthorize;
3132
import org.springframework.web.bind.annotation.GetMapping;
3233
import org.springframework.web.bind.annotation.PathVariable;
3334
import org.springframework.web.bind.annotation.PostMapping;
@@ -47,6 +48,7 @@
4748

4849
@RestController
4950
@RequestMapping(value = "/sectionConfiguration", headers = "Authorization")
51+
@PreAuthorize("hasRole('QUALITY_SUPERVISOR') || hasRole('QUALITY_AUDITOR')")
5052
public class QualityAuditSectionConfigurationController {
5153
@Autowired
5254
private QualityAuditSectionConfigurationImpl qualityAuditSectionConfigurationImpl;

0 commit comments

Comments
 (0)