Actions
Defect #1392
closedAudit can't be viewed after retrying a password change or account create
Start date:
11/27/2018
Due date:
% Done:
100%
Estimated time:
Affected versions:
Owner:
Description
Version: 9.3.0
When some provisioning operation containing a password (creation of an account, password change) falls into provisioning queue due to an error or read-only system, and then retrying of this operation is successful, then Audit log can't be viewed due to an internal server error.
The problem is with viewing audit records of the type IdmConfidentialStorageValue, action "create", after the confidential value was deleted.
Steps to reproduce:- Set a system with a password attribute to read-only
- Change password to some account on this system
- Change the system to read-write
- Retry the password change
- Go to Audit
Stack trace:
java.lang.NullPointerException: null at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmConfidentialStorageValueService.toDto(DefaultIdmConfidentialStorageValueService.java:50) at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmConfidentialStorageValueService.toDto(DefaultIdmConfidentialStorageValueService.java:1) at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.toDto(AbstractReadDtoService.java:367) at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService.get(AbstractReadDtoService.java:172) at eu.bcvsolutions.idm.core.api.service.AbstractReadDtoService$$FastClassBySpringCGLIB$$120a9283.invoke(<generated>) at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) at eu.bcvsolutions.idm.core.model.service.impl.DefaultIdmConfidentialStorageValueService$$EnhancerBySpringCGLIB$$c5bd30b4.get(<generated>) at eu.bcvsolutions.idm.core.api.rest.lookup.DefaultDtoLookup.lookup(DefaultDtoLookup.java:29) at eu.bcvsolutions.idm.core.model.service.impl.DefaultLookupService.lookupDto(DefaultLookupService.java:82) at eu.bcvsolutions.idm.core.model.service.impl.DefaultLookupService.lookupDto(DefaultLookupService.java:92) at eu.bcvsolutions.idm.core.audit.rest.impl.IdmAuditController.loadEmbeddedEntity(IdmAuditController.java:314) at eu.bcvsolutions.idm.core.audit.rest.impl.IdmAuditController.lambda$0(IdmAuditController.java:111) at java.lang.Iterable.forEach(Iterable.java:75) at eu.bcvsolutions.idm.core.audit.rest.impl.IdmAuditController.find(IdmAuditController.java:110) at eu.bcvsolutions.idm.core.audit.rest.impl.IdmAuditController.find(IdmAuditController.java:1) at eu.bcvsolutions.idm.core.api.rest.AbstractReadDtoController.find(AbstractReadDtoController.java:171) at eu.bcvsolutions.idm.core.audit.rest.impl.IdmAuditController.findQuick(IdmAuditController.java:103)
Files
Related issues
Actions