|
22 | 22 | */
|
23 | 23 | package org.mycore.mir.authorization;
|
24 | 24 |
|
25 |
| -import jakarta.servlet.http.HttpServletRequest; |
26 |
| -import jakarta.servlet.http.HttpServletResponse; |
| 25 | +import java.io.Serial; |
| 26 | +import java.time.ZoneOffset; |
| 27 | +import java.time.ZonedDateTime; |
| 28 | +import java.time.format.DateTimeFormatter; |
| 29 | +import java.util.ArrayList; |
| 30 | +import java.util.Arrays; |
| 31 | +import java.util.Collection; |
| 32 | +import java.util.List; |
| 33 | +import java.util.Map; |
| 34 | + |
27 | 35 | import org.apache.logging.log4j.LogManager;
|
28 | 36 | import org.apache.logging.log4j.Logger;
|
29 | 37 | import org.jdom2.Document;
|
|
43 | 51 | import org.mycore.user2.MCRUserManager;
|
44 | 52 | import org.mycore.user2.utils.MCRUserTransformer;
|
45 | 53 |
|
46 |
| -import java.io.Serial; |
47 |
| -import java.util.ArrayList; |
48 |
| -import java.util.Arrays; |
49 |
| -import java.util.Collection; |
50 |
| -import java.util.List; |
51 |
| -import java.util.Map; |
| 54 | +import jakarta.servlet.http.HttpServletRequest; |
| 55 | +import jakarta.servlet.http.HttpServletResponse; |
52 | 56 |
|
53 | 57 | /**
|
54 | 58 | * @author René Adler (eagle)
|
@@ -146,18 +150,20 @@ 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 |
|
158 |
| - user.setHashType(MCRPasswordHashType.md5); |
159 |
| - user.setPassword(MCRUtils.asMD5String(1, null, password)); |
| 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)); |
160 | 163 |
|
| 164 | + user.setHashType(MCRPasswordHashType.md5); |
| 165 | + user.setPassword(MCRUtils.asMD5String(1, null, doc.getRootElement().getChildText("password"))); |
| 166 | + |
161 | 167 | MCRUserManager.createUser(user);
|
162 | 168 |
|
163 | 169 | final Element root = new Element("new-author-created");
|
|
0 commit comments