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