UserRoleVerification modification 2
This commit is contained in:
parent
5366a7d79b
commit
cff4302c4a
5 changed files with 30 additions and 11 deletions
|
|
@ -4,7 +4,11 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory;
|
|||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
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;
|
||||
|
||||
|
|
@ -21,4 +25,8 @@ public class BeanConfiguration {
|
|||
return new RequestHelper(messageResolver);
|
||||
}
|
||||
|
||||
@Bean
|
||||
public UserRoleVerification userRoleVerification(ImdgProvider imdgProvider, IMessageResolver messageResolver) {
|
||||
return new UserRoleVerification(imdgProvider, messageResolver, UserRole.Admin, CompanyErrors.UserVerifyDenial);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ 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;
|
||||
|
|
@ -42,13 +41,14 @@ public class CompanyInfoService extends QueueConsumer implements InitializingBea
|
|||
public CompanyInfoService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider, CompanyService companyService,
|
||||
RequestHelper requestHelper, ValidationHelper validationHelper,
|
||||
UserRoleVerification userRoleVerification,
|
||||
@Qualifier("CompanyInfoUpdateRequestValidator")
|
||||
Function<CompanyInfoUpdateRequest, IValidator> companyInfoUpdateRequestValidator) {
|
||||
super(kafkaQueue, kafkaProducer);
|
||||
this.companyService = companyService;
|
||||
this.companyMap = imdgProvider.getImdg(IMDGDistributedNames.Map_Company, Company.class);
|
||||
this.validationHelper = validationHelper;
|
||||
this.userRoleVerification = new UserRoleVerification(imdgProvider, UserRole.Admin, CompanyErrors.UserVerifyDenial);
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
this.companyInfoUpdateRequestValidator = companyInfoUpdateRequestValidator;
|
||||
this.requestHelper = requestHelper.setLogger(log);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ 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;
|
||||
|
|
@ -48,7 +47,8 @@ public class CompanyRoleSetService extends QueueConsumer implements Initializing
|
|||
public CompanyRoleSetService(Consumer<String, Object> kafkaQueue, Producer<String, Object> kafkaProducer,
|
||||
ImdgProvider imdgProvider,
|
||||
RequestHelper requestHelper,
|
||||
ValidationHelper validationHelper
|
||||
ValidationHelper validationHelper,
|
||||
UserRoleVerification userRoleVerification
|
||||
// @Qualifier("CompanyRoleSetRequestValidator")
|
||||
// Function<CompanyRoleSetNewRequest, IValidator> companyNewRequestValidator,
|
||||
) {
|
||||
|
|
@ -56,7 +56,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 = new UserRoleVerification(imdgProvider, UserRole.Admin, CompanyErrors.UserVerifyDenial);
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
this.validationHelper = validationHelper;
|
||||
// this.companyDeleteRequestValidator = companyDeleteRequestValidator;
|
||||
this.requestHelper = requestHelper.setLogger(log);
|
||||
|
|
|
|||
|
|
@ -22,7 +22,6 @@ 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;
|
||||
|
|
@ -62,6 +61,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
ImdgProvider imdgProvider,
|
||||
RequestHelper requestHelper,
|
||||
ValidationHelper validationHelper,
|
||||
UserRoleVerification userRoleVerification,
|
||||
@Qualifier("companyNewRequestValidator")
|
||||
Function<CompanyNewRequest, IValidator> companyNewRequestValidator,
|
||||
@Qualifier("companyUpdateRequestValidator")
|
||||
|
|
@ -79,7 +79,7 @@ public class CompanyService extends QueueConsumer implements InitializingBean {
|
|||
|
||||
this.companySymbolsMap = imdgProvider.getImdg(IMDGDistributedNames.Map_CompanySymbols, CompanySymbols.class);
|
||||
this.idSequence = imdgProvider.getImdgIdGenerator();
|
||||
this.userRoleVerification = new UserRoleVerification(imdgProvider, UserRole.Admin, CompanyErrors.UserVerifyDenial);
|
||||
this.userRoleVerification = userRoleVerification;
|
||||
this.validationHelper = validationHelper;
|
||||
this.companyNewRequestValidator = companyNewRequestValidator;
|
||||
this.companyUpdateRequestValidator = companyUpdateRequestValidator;
|
||||
|
|
|
|||
|
|
@ -10,11 +10,14 @@ import ru.spcex.platform.enumeration.Status;
|
|||
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.enumeration.EnumMessage;
|
||||
import ru.spcex.platform.utils.enumeration.IEnumKey;
|
||||
import ru.spcex.platform.utils.enumeration.IErrorEnumId;
|
||||
import ru.spcex.platform.utils.enumeration.IMessageResolver;
|
||||
import ru.spcex.platform.utils.error.ValidationException;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
* Проверка дополнительных прав пользователя.
|
||||
|
|
@ -27,9 +30,16 @@ public class UserRoleVerification {
|
|||
protected Imdg<UserRoleSession> userRoleSessions;
|
||||
protected UserRole roleForVerification;
|
||||
protected IErrorEnumId roleVerificationError;
|
||||
protected IMessageResolver messageResolver;
|
||||
|
||||
public UserRoleVerification(ImdgProvider imdg, UserRole roleForVerification, IErrorEnumId roleVerificationError) {
|
||||
public UserRoleVerification(ImdgProvider imdg,
|
||||
IMessageResolver messageResolver,
|
||||
UserRole roleForVerification,
|
||||
IErrorEnumId roleVerificationError) {
|
||||
Objects.requireNonNull(roleForVerification);
|
||||
Objects.requireNonNull(roleVerificationError);
|
||||
userRoleSessions = imdg.getImdg(IMDGDistributedNames.Map_UserRoleSession, UserRoleSession.class);
|
||||
this.messageResolver = messageResolver;
|
||||
this.roleForVerification = roleForVerification;
|
||||
this.roleVerificationError = roleVerificationError;
|
||||
}
|
||||
|
|
@ -60,13 +70,14 @@ public class UserRoleVerification {
|
|||
public RequestInfoUpdate validateRoleAndGetResult(BaseRequest<?> req) {
|
||||
Long requesterId = req.getUserId();
|
||||
if (requesterId != null && !userHasRole(requesterId, roleForVerification)) {
|
||||
log.trace("User {} has no role to allow this action", requesterId);
|
||||
log.debug("User {} has no role to allow this action", requesterId);
|
||||
String errMsg = messageResolver.resolve(new EnumMessage(roleVerificationError, requesterId));
|
||||
return new RequestInfoUpdate()
|
||||
.setId(req.getId())
|
||||
.setStatus(ru.spcex.clearing.platform.messaging.service.Status.Error)
|
||||
.setMessage("User (id %d) has no role to allow this action".formatted(requesterId));
|
||||
.setMessage(errMsg);
|
||||
} else {
|
||||
log.trace("Request without userId");
|
||||
log.debug("Request without userId");
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue