From 3280be88e272e1c16dca2b9420e0be8ccaf707a4 Mon Sep 17 00:00:00 2001 From: akulikov Date: Fri, 7 Apr 2023 12:55:41 +0300 Subject: [PATCH] UserRoleVerification modification 3 --- .../clearing/company/config/BeanConfiguration.java | 4 ++-- .../clearing/company/service/CompanyInfoService.java | 3 ++- .../company/service/CompanyRoleSetService.java | 3 ++- .../spcex/clearing/company/service/CompanyService.java | 3 ++- .../clearing/util/security/UserRoleVerification.java | 10 ++++++++-- 5 files changed, 16 insertions(+), 7 deletions(-) diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/BeanConfiguration.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/BeanConfiguration.java index 18f1e518c..0062de6f3 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/BeanConfiguration.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/config/BeanConfiguration.java @@ -7,7 +7,6 @@ import org.springframework.context.annotation.Scope; import ru.spcex.clearing.company.error.CompanyErrors; import ru.spcex.clearing.company.util.RequestHelper; import ru.spcex.clearing.util.security.UserRoleVerification; -import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.enumeration.IMessageResolver; import ru.spcex.platform.utils.enumeration.SimpleMessageResolver; @@ -26,7 +25,8 @@ public class BeanConfiguration { } @Bean + @Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) { - return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, CompanyErrors.UserVerifyDenial); + return new UserRoleVerification(imdgProvider, messageResolver, CompanyErrors.UserVerifyDenial); } } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java index 6fad333bf..8fb9950b7 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyInfoService.java @@ -20,6 +20,7 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgProvider; import ru.spcex.platform.utils.validation.IValidator; @@ -48,7 +49,7 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea this.companyService = companyService; this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class); this.validationHelper = validationHelper; - this.userRoleVerification = userRoleVerification; + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.companyInfoUpdateRequestValidator = companyInfoUpdateRequestValidator; this.requestHelper = requestHelper.setLogger(log); } diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java index 2a1b37691..085ba8243 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyRoleSetService.java @@ -19,6 +19,7 @@ import ru.spcex.clearing.platform.messaging.service.QueueConsumer; import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; import ru.spcex.platform.imdg.api.ImdgProvider; @@ -56,7 +57,7 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing this.imdgProvider = imdgProvider; this.companyRoleSetMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class); this.idSequence = imdgProvider.getImdgIdGenerator(); - this.userRoleVerification = userRoleVerification; + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; // this.companyDeleteRequestValidator = companyDeleteRequestValidator; this.requestHelper = requestHelper.setLogger(log); diff --git a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java index 083eefcb8..ef454ec15 100644 --- a/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java +++ b/clearing-parent/company-service/src/main/java/ru/spcex/clearing/company/service/CompanyService.java @@ -22,6 +22,7 @@ import ru.spcex.clearing.platform.messaging.service.RequestInfoUpdate; import ru.spcex.clearing.util.security.UserRoleVerification; import ru.spcex.clearing.validation.common.ValidationHelper; import ru.spcex.platform.enumeration.CompanySymbol; +import ru.spcex.platform.enumeration.UserRole; import ru.spcex.platform.enumeration.WorkflowStatus; import ru.spcex.platform.imdg.api.Imdg; import ru.spcex.platform.imdg.api.ImdgId; @@ -79,7 +80,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean { this.companySymbolsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class); this.idSequence = imdgProvider.getImdgIdGenerator(); - this.userRoleVerification = userRoleVerification; + this.userRoleVerification = userRoleVerification.setRoleForVerification(UserRole.Admin); this.validationHelper = validationHelper; this.companyNewRequestValidator = companyNewRequestValidator; this.companyUpdateRequestValidator = companyUpdateRequestValidator; diff --git a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java index b93c7ca27..b865f4b67 100644 --- a/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java +++ b/clearing-parent/security-util/src/main/java/ru/spcex/clearing/util/security/UserRoleVerification.java @@ -34,13 +34,12 @@ public class UserRoleVerification { public UserRoleVerification(ImdgProvider imdg, IMessageResolver messageResolver, - UserRole roleForVerification, IErrorEnumId roleVerificationError) { Objects.requireNonNull(roleForVerification); Objects.requireNonNull(roleVerificationError); + Objects.requireNonNull(messageResolver); userRoleSessions = imdg.getImdg(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class); this.messageResolver = messageResolver; - this.roleForVerification = roleForVerification; this.roleVerificationError = roleVerificationError; } @@ -58,6 +57,7 @@ public class UserRoleVerification { public void validateRoleAndThrow(BaseRequest req) throws ValidationException { + Objects.requireNonNull(roleForVerification); Long requesterId = req.getUserId(); if (requesterId != null && !userHasRole(requesterId, roleForVerification)) { log.trace("User {} has no role to allow this action", requesterId); @@ -68,6 +68,7 @@ public class UserRoleVerification { } public RequestInfoUpdate validateRoleAndGetResult(BaseRequest req) { + Objects.requireNonNull(roleForVerification); Long requesterId = req.getUserId(); if (requesterId != null && !userHasRole(requesterId, roleForVerification)) { log.debug("User {} has no role to allow this action", requesterId); @@ -82,6 +83,11 @@ public class UserRoleVerification { return null; } + public UserRoleVerification setRoleForVerification(UserRole roleForVerification) { + this.roleForVerification = roleForVerification; + return this; + } + // public UserRoleVerification(ImdgProvider imdg, UserRole roleForVerification, IErrorEnumId roleVerificationError) { // userRoleSessions = imdg.getImdg(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class); // companyRoleSet = imdg.getImdg(IMDGDistributedNames.Map_CompanyRoleSet, CompanyRoleSet.class);