From 3c26787c5247ce9f83a8729cfd3b3c03bf6486fe Mon Sep 17 00:00:00 2001 From: "Mahesh.Binayak" Date: Fri, 17 Dec 2021 14:22:47 +0530 Subject: [PATCH] adding access roles in packet reader controller. --- .../controller/PacketReaderController.java | 29 +++++++----- .../controller/PacketWriterController.java | 14 +++--- .../packetmanager/dto/AuthorizedRolesDTO.java | 45 +++++++++++++++++++ .../src/test/resources/application.properties | 14 ++++++ 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100644 commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/dto/AuthorizedRolesDTO.java diff --git a/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketReaderController.java b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketReaderController.java index 9c99af70eb..3b6c9bdb4f 100644 --- a/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketReaderController.java +++ b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketReaderController.java @@ -53,7 +53,8 @@ public class PacketReaderController { @Autowired private PacketReaderService packetReaderService; - @PreAuthorize("hasAnyRole('DATA_READ')") + //@PreAuthorize("hasAnyRole('DATA_READ')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostsearchfield())") @ResponseFilter @PostMapping(path = "/searchField", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "searchField", description = "searchField", tags = { "packet-reader-controller" }) @@ -77,7 +78,8 @@ public ResponseWrapper searchField(@RequestBody(required = tru return response; } - @PreAuthorize("hasAnyRole('DATA_READ')") + //@PreAuthorize("hasAnyRole('DATA_READ')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostsearchfields())") @ResponseFilter @PostMapping(path = "/searchFields", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "searchFields", description = "searchFields", tags = { "packet-reader-controller" }) @@ -106,7 +108,8 @@ public ResponseWrapper searchFields(@RequestBody(required = tr return response; } - @PreAuthorize("hasAnyRole('DOCUMENT_READ')") + // @PreAuthorize("hasAnyRole('DOCUMENT_READ')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostdocument())") @ResponseFilter @PostMapping(path = "/document", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "getDocument", description = "getDocument", tags = { "packet-reader-controller" }) @@ -127,7 +130,8 @@ public ResponseWrapper getDocument(@RequestBody(required = true) Reque return response; } - @PreAuthorize("hasAnyRole('BIOMETRIC_READ')") + // @PreAuthorize("hasAnyRole('BIOMETRIC_READ')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostbiometrics())") @ResponseFilter @PostMapping(path = "/biometrics", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "getBiometrics", description = "getBiometrics", tags = { "packet-reader-controller" }) @@ -149,7 +153,8 @@ public ResponseWrapper getBiometrics(@RequestBody(required = tr return response; } - @PreAuthorize("hasAnyRole('METADATA_READ')") + //@PreAuthorize("hasAnyRole('METADATA_READ')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostmetainfo())") @ResponseFilter @PostMapping(path = "/metaInfo", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "getMetaInfo", description = "getMetaInfo", tags = { "packet-reader-controller" }) @@ -169,7 +174,8 @@ public ResponseWrapper getMetaInfo(@RequestBody(required = tru return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostaudits())") @ResponseFilter @PostMapping(path = "/audits", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "getAudits", description = "getAudits", tags = { "packet-reader-controller" }) @@ -195,7 +201,8 @@ public ResponseWrapper> getAudits(@RequestBody(required = return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + // @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostvalidatepacket())") @ResponseFilter @PostMapping(path = "/validatePacket", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "validatePacket", description = "validatePacket", tags = { "packet-reader-controller" }) @@ -213,8 +220,9 @@ public ResponseWrapper validatePacket(@RequestBody(requi return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") - @ResponseFilter + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostgettags())") + @ResponseFilter @PostMapping(path = "/getTags", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "getTags", description = "getTags", tags = { "packet-reader-controller" }) @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), @@ -231,7 +239,8 @@ public ResponseWrapper getTags( return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostinfo())") @ResponseFilter @PostMapping(path = "/info", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "info", description = "info", tags = { "packet-reader-controller" }) diff --git a/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketWriterController.java b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketWriterController.java index 20e1906e22..d50c741d82 100644 --- a/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketWriterController.java +++ b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/controller/PacketWriterController.java @@ -41,8 +41,9 @@ public class PacketWriterController { @Autowired private PacketWriterService packetWriterService; - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") - @ResponseFilter + // @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPutcreatepacket())") + @ResponseFilter @PutMapping(path = "/createPacket", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "createPacket", description = "createPacket", tags = { "packet-writer-controller" }) @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), @@ -66,7 +67,8 @@ private ResponseWrapper getResponseWrapper() { return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostaddtag())") @ResponseFilter @PostMapping(path = "/addTag", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "setTags", description = "setTags", tags = { "packet-writer-controller" }) @@ -84,7 +86,8 @@ public ResponseWrapper setTags( return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostaddorupdatetag())") @ResponseFilter @PostMapping(path = "/addOrUpdateTag", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "updateTags", description = "updateTags", tags = { "packet-writer-controller" }) @@ -100,8 +103,9 @@ public ResponseWrapper updateTags(@RequestBody(required = true) response.setResponse(tagResponse); return response; } - @PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") + //@PreAuthorize("hasAnyRole('REGISTRATION_PROCESSOR')") @ResponseFilter + @PreAuthorize("hasAnyRole(@authorizedRoles.getPostdeletetag())") @PostMapping(path = "/deleteTag", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @Operation(summary = "deleteTags", description = "deleteTags", tags = { "packet-writer-controller" }) @ApiResponses(value = { @ApiResponse(responseCode = "200", description = "OK"), diff --git a/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/dto/AuthorizedRolesDTO.java b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/dto/AuthorizedRolesDTO.java new file mode 100644 index 0000000000..e3026493b4 --- /dev/null +++ b/commons-packet/commons-packet-service/src/main/java/io/mosip/commons/packetmanager/dto/AuthorizedRolesDTO.java @@ -0,0 +1,45 @@ +package io.mosip.commons.packetmanager.dto; + +import java.util.List; + +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.stereotype.Component; + +import lombok.Getter; +import lombok.Setter; + + +@Component("authorizedRoles") +@ConfigurationProperties(prefix = "mosip.role.packetmanager") +@Getter +@Setter +public class AuthorizedRolesDTO { + + private List postsearchfield; + + private List postsearchfields; + + private List postdocument; + + private List postbiometrics; + + private List postmetainfo; + + private List postaudits; + + private List postvalidatepacket; + + private List postgettags; + + private List postinfo; + + private List postcreatepacket; + + private List postaddtag; + + private List postaddorupdatetag; + + private List postdeletetag; + + +} \ No newline at end of file diff --git a/commons-packet/commons-packet-service/src/test/resources/application.properties b/commons-packet/commons-packet-service/src/test/resources/application.properties index 08a7d76295..8898cd2b8b 100644 --- a/commons-packet/commons-packet-service/src/test/resources/application.properties +++ b/commons-packet/commons-packet-service/src/test/resources/application.properties @@ -39,3 +39,17 @@ packetmanager.default.read.strategy= packetmanager.default.priority= mosip.kernel.auth.appids.realm.map={prereg:'preregistration',ida:'mosip',registrationclient:'mosip',regproc:'mosip',partner:'mosip',resident:'mosip'} +#adding commons-packet-manager properties +mosip.role.packetmanager.postcreatepacket=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postaddtag=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postaddorupdatetag=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postdeletetag=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postinfo=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postgettags=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postvalidatepacket=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postaudits=REGISTRATION_PROCESSOR +mosip.role.packetmanager.postmetainfo=METADATA_READ +mosip.role.packetmanager.postbiometrics=BIOMETRIC_READ +mosip.role.packetmanager.postdocument=DOCUMENT_READ +mosip.role.packetmanager.postsearchfields=DATA_READ +mosip.role.packetmanager.postsearchfield=DATA_READ