feat(platzhalter): Aufloesung, Namensregeln und Shell-Maskierung (#26)
Prüfung / pruefung (push) Canceled after 0s
Prüfung / e2e (push) Canceled after 0s

This commit was merged in pull request #26.
This commit is contained in:
2026-09-25 13:30:31 +00:00
parent f85bc87324
commit eec5de404a
21 changed files with 4069 additions and 166 deletions
+19
View File
@@ -84,6 +84,16 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
Anführungszeichen und Zeilenumbrüchen im Wert zurecht (#011)
- Die Seitenleiste führt Personen und Geräte unter einem Eintrag; ein Umschalter wechselt zwischen
beiden Listen (#011)
- Platzhalter werden aufgelöst: eingebaute Werte aus Gerät, Lauf, Mitarbeiter und Abteilung, dazu
die Variablen der Vorlage. Ein unbekannter Platzhalter bleibt sichtbar stehen, statt still zu
verschwinden (#012)
- `{{ou}}` einer Person aus dem Verzeichnis ist der Eltern-Container ihres DN — genau der Pfad, den
ein `New-ADUser -Path` braucht (#012)
- Namensregeln für `upn`, `sam`, `mail` und `hostname` mit Transliteration, `{v}`, `{nnn}` und
`{kundenkuerzel}`; im Modus Dienstleistung überlagern Kundenregeln die globalen Feld für Feld
(#012)
- „Alle Befehle als Skript kopieren“ je Abschnitt: die Befehle in Reihenfolge, je mit einer
Kommentarzeile darüber und dem Zeilenumbruch der jeweiligen Shell (#012)
### Sicherheit
@@ -140,3 +150,12 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
- Ein Gerät, an dem Läufe hängen, lässt sich nicht löschen, nur archivieren (#011)
- Der Tag-Code entsteht beim Anlegen, steht sofort im Vergabebuch und lässt sich nie ändern — beides
in einer Transaktion, damit kein Code ohne Eintrag entsteht (#011)
- Werte werden für die jeweilige Shell maskiert, bevor sie in einen Befehl kommen: PowerShell
verdoppelt `"` und Backtick und entschärft `$`, Bash setzt einfache Anführungszeichen. Für Cmd
wird ein Wert mit `"` oder Zeilenumbruch **abgelehnt** statt unsicher maskiert — dort gibt es
keine Regel, die in jedem Fall stimmt (#012)
- `{{generiertes_passwort}}` entsteht bei jeder Anzeige neu, besteht aus 20 Zeichen ohne
verwechselbare Buchstaben und wird nirgends gespeichert; in der Druckansicht steht
`[Passwort – nicht gespeichert]` (#012)
- Ein eingesetzter Wert wird nicht doppelt maskiert: React maskiert Textknoten selbst, und ein Test
am gerenderten HTML hält fest, dass ein `<script>` im Namen wirklich als Text ankommt (#012)