[Fix] Respected privilegeHandler.isPersistOnUserDataChanged() for all privilege services
This commit is contained in:
parent
1ac594f78e
commit
dc7972927b
|
@ -45,20 +45,19 @@ public class ClearUserPasswordService extends AbstractService<PrivilegeUserNameA
|
|||
try (StrolchTransaction tx = openArgOrUserTx(arg, PrivilegeHandler.PRIVILEGE_SET_USER_PASSWORD)) {
|
||||
tx.setSuppressAudits(true);
|
||||
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer()
|
||||
.getPrivilegeHandler();
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer().getPrivilegeHandler();
|
||||
PrivilegeHandler privilegeHandler = strolchPrivilegeHandler.getPrivilegeHandler();
|
||||
privilegeHandler.setUserPassword(getCertificate(), arg.username, null);
|
||||
|
||||
// only persist if not setting own password
|
||||
if (!getCertificate().getUsername().equals(arg.username) && getPrivilegeContext().getPrivilegeNames()
|
||||
.contains(PrivilegeHandler.PRIVILEGE_ACTION_PERSIST)) {
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
}
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
arg.username);
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, arg.username);
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -51,11 +51,11 @@ public class PrivilegeAddRoleToUserService
|
|||
tx.setSuppressAudits(true);
|
||||
|
||||
user = privilegeHandler.addRoleToUser(getCertificate(), arg.username, arg.rolename);
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
user.getUsername());
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -54,7 +54,8 @@ public class PrivilegeAddUserCommand extends Command {
|
|||
public void doCommand() {
|
||||
PrivilegeHandler privilegeHandler = getContainer().getPrivilegeHandler().getPrivilegeHandler();
|
||||
this.userOut = privilegeHandler.addUser(this.cert, this.userIn, null);
|
||||
privilegeHandler.persist(this.cert);
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(this.cert);
|
||||
writeAudit();
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,8 @@ public class PrivilegeAddUsersCommand extends Command {
|
|||
public void doCommand() {
|
||||
PrivilegeHandler privilegeHandler = getContainer().getPrivilegeHandler().getPrivilegeHandler();
|
||||
privilegeHandler.addOrUpdateUsers(this.cert, this.usersIn);
|
||||
privilegeHandler.persist(this.cert);
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(this.cert);
|
||||
writeAudits();
|
||||
}
|
||||
|
||||
|
|
|
@ -50,11 +50,11 @@ public class PrivilegeRemoveRoleFromUserService
|
|||
tx.setSuppressAudits(true);
|
||||
|
||||
user = privilegeHandler.removeRoleFromUser(getCertificate(), arg.username, arg.rolename);
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
user.getUsername());
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,8 @@ public class PrivilegeRemoveUserCommand extends Command {
|
|||
PrivilegeHandler privilegeHandler = strolchPrivilegeHandler.getPrivilegeHandler();
|
||||
|
||||
privilegeHandler.removeUser(tx().getCertificate(), this.username);
|
||||
privilegeHandler.persist(tx().getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(tx().getCertificate());
|
||||
|
||||
Audit audit = tx().auditFrom(AccessType.DELETE, PRIVILEGE, USER, this.username);
|
||||
tx().getAuditTrail().add(tx(), audit);
|
||||
|
|
|
@ -51,11 +51,11 @@ public class PrivilegeSetUserLocaleService
|
|||
tx.setSuppressAudits(true);
|
||||
|
||||
user = privilegeHandler.setUserLocale(getCertificate(), arg.username, arg.locale);
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
user.getUsername());
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -45,20 +45,19 @@ public class PrivilegeSetUserPasswordService extends AbstractService<PrivilegeSe
|
|||
try (StrolchTransaction tx = openArgOrUserTx(arg, PrivilegeHandler.PRIVILEGE_SET_USER_PASSWORD)) {
|
||||
tx.setSuppressAudits(true);
|
||||
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer()
|
||||
.getPrivilegeHandler();
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer().getPrivilegeHandler();
|
||||
PrivilegeHandler privilegeHandler = strolchPrivilegeHandler.getPrivilegeHandler();
|
||||
privilegeHandler.setUserPassword(getCertificate(), arg.username, arg.password);
|
||||
|
||||
// only persist if not setting own password
|
||||
if (!getCertificate().getUsername().equals(arg.username) && getPrivilegeContext().getPrivilegeNames()
|
||||
.contains(PrivilegeHandler.PRIVILEGE_ACTION_PERSIST)) {
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
}
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
arg.username);
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, arg.username);
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -56,10 +56,11 @@ public class PrivilegeSetUserPasswordStateService extends AbstractService<String
|
|||
try (StrolchTransaction tx = openArgOrUserTx(arg, PRIVILEGE_SET_USER_PASSWORD)) {
|
||||
tx.setSuppressAudits(true);
|
||||
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer()
|
||||
.getPrivilegeHandler();
|
||||
li.strolch.runtime.privilege.PrivilegeHandler strolchPrivilegeHandler = getContainer().getPrivilegeHandler();
|
||||
PrivilegeHandler privilegeHandler = strolchPrivilegeHandler.getPrivilegeHandler();
|
||||
privilegeHandler.requirePasswordChange(getCertificate(), username);
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, PRIVILEGE, USER, username);
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
|
|
|
@ -50,11 +50,11 @@ public class PrivilegeSetUserStateService extends AbstractService<PrivilegeSetUs
|
|||
tx.setSuppressAudits(true);
|
||||
|
||||
user = privilegeHandler.setUserState(getCertificate(), arg.username, arg.userState);
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
user.getUsername());
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
|
@ -80,6 +80,10 @@ public class PrivilegeUpdateUserRolesService extends AbstractService<JsonService
|
|||
}
|
||||
|
||||
if (changed) {
|
||||
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
|
|
|
@ -50,11 +50,11 @@ public class PrivilegeUpdateUserService extends AbstractService<PrivilegeUserArg
|
|||
tx.setSuppressAudits(true);
|
||||
|
||||
user = privilegeHandler.updateUser(getCertificate(), arg.user);
|
||||
privilegeHandler.persist(getCertificate());
|
||||
if (privilegeHandler.isPersistOnUserDataChanged())
|
||||
privilegeHandler.persist(getCertificate());
|
||||
|
||||
Audit audit = tx
|
||||
.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE, StrolchPrivilegeConstants.USER,
|
||||
user.getUsername());
|
||||
Audit audit = tx.auditFrom(AccessType.UPDATE, StrolchPrivilegeConstants.PRIVILEGE,
|
||||
StrolchPrivilegeConstants.USER, user.getUsername());
|
||||
tx.getAuditTrail().add(tx, audit);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue