UserRoleVerification modification 3

This commit is contained in:
akulikov 2023-04-07 12:55:41 +03:00
parent cff4302c4a
commit 3280be88e2
5 changed files with 16 additions and 7 deletions

View file

@ -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);
}
}

View file

@ -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);
}

View file

@ -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);

View file

@ -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;

View file

@ -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);