Nuclos GDPR: UserProvider delete, PRIVACY_DELETE_SESSIONLOG_AFTER_PERIOD, T_AD_SESSIONS, T_UD_HISTORY, historization, 4.2022.7. |
Language: Deutsch · English
GDPR features in the Nuclos core – delete users via API, clean up the session log and control historization.
Auf dieser Seite |
To make implementing GDPR requirements easier, several extensions were added to the Nuclos core from version 4.2022.7.
Users can be deleted via org.nuclos.api.provider.UserProvider#delete – e.g. via a job that removes long-locked users:
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.nuclos.api.context.JobContext;
import org.nuclos.api.exception.BusinessException;
import org.nuclos.api.provider.QueryProvider;
import org.nuclos.api.provider.UserProvider;
import org.nuclos.api.rule.JobRule;
import org.nuclos.api.rule.TransactionalJobRule;
import org.nuclos.system.User;
public class DSGVOGesperrteUserLoeschen implements JobRule, TransactionalJobRule {
@Override
public void execute(final JobContext context) throws BusinessException {
User user = (User) context.getTransactionalObject();
context.joblog("delete user " + user.getUsername());
UserProvider.delete(user);
}
@Override
public List<Object> getTransactionalObjects(final JobContext context) {
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.DAY_OF_YEAR, -90); // Letzte Änderung am User ist 90 Tage her
return new ArrayList<>(QueryProvider.execute(QueryProvider.create(User.class)
.where(User.Locked.eq(true))
.and(User.ChangedAt.Lt(calendar.getTime()))));
}
} |
T_AD_SESSIONS) are automatically deleted at midnight via the system parameter PRIVACY_DELETE_SESSIONLOG_AFTER_PERIOD (days).T_UD_HISTORY): changes are historized; retention can be configured per attribute in the BO wizard.