|
24 | 24 |
|
25 | 25 | import jakarta.servlet.http.HttpServletRequest;
|
26 | 26 | import jakarta.servlet.http.HttpServletResponse;
|
| 27 | + |
27 | 28 | import org.apache.logging.log4j.LogManager;
|
28 | 29 | import org.apache.logging.log4j.Logger;
|
29 | 30 | import org.jdom2.Document;
|
|
44 | 45 | import org.mycore.user2.utils.MCRUserTransformer;
|
45 | 46 |
|
46 | 47 | import java.io.Serial;
|
| 48 | +import java.time.ZoneOffset; |
| 49 | +import java.time.ZonedDateTime; |
| 50 | +import java.time.format.DateTimeFormatter; |
47 | 51 | import java.util.ArrayList;
|
48 | 52 | import java.util.Arrays;
|
49 | 53 | import java.util.Collection;
|
@@ -146,17 +150,19 @@ private void register(final HttpServletRequest req, final HttpServletResponse re
|
146 | 150 |
|
147 | 151 | LOGGER.info("create new user " + user.getUserID() + " " + user.getRealm().getID());
|
148 | 152 |
|
149 |
| - final String password = doc.getRootElement().getChildText("password"); |
150 |
| - |
151 | 153 | if (DEFAULT_REGISTRATION_DISABLED_STATUS != null && !DEFAULT_REGISTRATION_DISABLED_STATUS.isEmpty()) {
|
152 | 154 | user.setDisabled(Boolean.parseBoolean(DEFAULT_REGISTRATION_DISABLED_STATUS));
|
153 | 155 | }
|
154 | 156 |
|
155 | 157 | // remove all roles set by editor
|
156 | 158 | user.getSystemRoleIDs().clear();
|
157 | 159 |
|
| 160 | + ZonedDateTime registeredAt = ZonedDateTime.now().withNano(0); |
| 161 | + DateTimeFormatter formatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME.withZone(ZoneOffset.UTC); |
| 162 | + user.setUserAttribute("registeredAt", registeredAt.format(formatter)); |
| 163 | + |
158 | 164 | user.setHashType(MCRPasswordHashType.md5);
|
159 |
| - user.setPassword(MCRUtils.asMD5String(1, null, password)); |
| 165 | + user.setPassword(MCRUtils.asMD5String(1, null, doc.getRootElement().getChildText("password"))); |
160 | 166 |
|
161 | 167 | MCRUserManager.createUser(user);
|
162 | 168 |
|
|
0 commit comments