Robustheits-Fix: RFC-5321-konforme E-Mail-Local-Parts (keine Rand-Punkte/Doppelpunkte) + sAMAccountName-Fallback bei Nicht-Latin-Namen + Release v11
This commit is contained in:
@@ -78,6 +78,14 @@ router.post('/create-user', adminMiddleware, validate(createADUserSchema), async
|
||||
}
|
||||
sAMAccountName = sAMAccountName.substring(0, 20);
|
||||
|
||||
// Fallback: Wenn der Name nur aus Sonderzeichen bestand (z.B. rein chinesisch),
|
||||
// wäre sAMAccountName leer — AD würde den User ablehnen. Dann generischen
|
||||
// Namen aus Zeitstempel verwenden und den Original-Username als displayName behalten.
|
||||
if (!sAMAccountName) {
|
||||
sAMAccountName = 'user' + Date.now().toString(36);
|
||||
console.warn('[AD] sAMAccountName war nach Normalisierung leer — Fallback:', sAMAccountName);
|
||||
}
|
||||
|
||||
const existing = await checkADUserExists(username, sAMAccountName);
|
||||
if (existing) {
|
||||
return res.status(409).json({ error: 'Benutzername "' + username + '" existiert bereits im Active Directory.', dn: existing.distinguishedName });
|
||||
|
||||
Reference in New Issue
Block a user