Zum Hauptinhalt springen

Anmelden (/login/form)

Gateway-Weboberfläche Anmeldebildschirm. Nach der Anmeldung können alle /ui/* UI-Pfade aufgerufen werden.

Standardpasswort für Boxen ab 2026.05+

Bei der ersten Installation mit install.sh wird für jede Box automatisch ein zufälliges Passwort generiert (es kann sich vom Standard admin123! unterscheiden). Falls SSH-Zugriff auf die Box möglich ist:

sudo cat /etc/kopens/credentials.txt # chmod 0600 root, 박스 안에서만

In dieser Datei sind die Admin-, MQTT-, OPC-UA- und API-Schlüssel sowie das Keystore-Passwort zentral hinterlegt. Während der Factory Provisioning sollte diese Ausgabe ausgedruckt/gespeichert und die Box dann versiegelt werden.


1. Bildschirmaufbau

┌─────────────────────────────────────────────┐
│ ░░░ 다중 SVG 웨이브 (5겹) + 오로라 + 빛 점 │
│ │
│ 🌀 (회전 로고) │
│ 플랜트펄스 │
│ 엣지 │
│ [HOSTNAME 뱃지] │
│ │
│ 👤 [사용자 ID] │
│ 🔑 [패스워드] │
│ │
│ [🔓 로그인] │
│ │
│ KOPENS © │
│ │
│ ┌──────────────┐ │
│ │ IIoT 게이트 │ │
│ │ 웨이 일러스트 │ │
│ └──────────────┘ │
└─────────────────────────────────────────────┘

1.1 Hintergrund-Visualeffekte

  • Dunkler Navy-Farbverlauflinear-gradient(135deg, #061830 0%, #0a2452 35%, #07182f 75%, #03101f 100%)
  • 5 überlagerte SVG-Wellen (.login_wave .wv1 ~ .wv5) — mit unterschiedlicher Amplitude/Phase für sanfte Bewegung
  • Aurora-Conic-Gradient (.login_aurora) — langsame Rotation von der Bildschirmmitte
  • 6 Licht-Orbs (.orb) — Radialverlauf, schwebendes Bewegungsmuster an verschiedenen Positionen
  • IIoT-Gateway-Illustration rechts unten (.edge_pc_deco .edge_gw_svg) — clamp(200px, 22vw, 320px) drop-shadow + breathe-Animation. Visualisiert die Identität von PlantPulse Edge

Alle Effekte sind inline in <style> oder pp-login.css definiert – sie verschwinden beim Navigieren zu anderen Seiten (gelten nur für die Anmeldeseite).

1.2 Formularbereich

BereichInhalt
Logo + NamePlantPulse Edge Logo (rotierend) + Produktname
HOSTNAME-Badge${edge_context.hostname} – zum sofortigen Erkennen des jeweiligen Gateways
Benutzer-IDAlphanumerisch/@ – Platzhalter Benutzer-ID
PasswortKlartext-Übertragung – HTTPS empfohlen
Anmelde-ButtonAbsenden

2. Ablauf

SchrittErgebnis
Formular absendenPOST /login/login (user_id + password)
Antwort OKLade-Spinner für 3 Sekunden (fa-spinner-third fa-spin) angezeigt → Weiterleitung zu /ui/main
Antwort fehlgeschlagenAlert-Box (shake-Animation, rote Hervorhebung) – "Bitte überprüfen Sie Benutzer-ID und Passwort und geben Sie sie korrekt ein."

Benutzerinformationen werden im Session-Attribut _USER_LOGIN (JSONObject) gespeichert – UserFilter / ApiAuthFilter prüfen dieses Attribut für die Sitzungsvalidierung.

Wenn 3 Sekunden zu lang wirken

Dies ist die Zeitspanne für die Tokenvalidierung und das Umleitungs-Race auf Plattformseite. Zu schnelle Übergänge zu /ui/main können zu einer 401-Authentifizierungsumleitung und erneutem Anmeldebildschirm führen. Diese bewusste Verzögerung gewährleistet UX-Stabilität.


3. Eingabevalidierung

FeldEinschränkung
Benutzer-ID4–20 Zeichen (Buchstaben / Ziffern / @ etc.)
Passwort4–20 Zeichen, Klartext-Übertragung (HTTPS empfohlen)

required="true" – HTML5-Validierung blockiert leere Werte. minlength/maxlength werden ebenfalls angewendet.


4. Häufige Fallstricke

SymptomUrsache / Lösung
Nach Anmeldung erneut AnmeldebildschirmSession-Cookie blockiert / gemischte Domains (HTTPS ↔ HTTP). Verwenden Sie denselben Origin
Alle Passwörter werden abgelehntCassandra pe.app_user_login Tabelle ist leer. Fordern Sie Systemadministrator zur Erstellung des initialen Benutzerkontos auf
Sitzung wird ständig unterbrochenTomcat Session-Timeout zu kurz – erhöhen Sie security.session.timeout.minutes in app.properties . Oder PersistentManager + FileStore konfigurieren (bereits implementiert – Sitzung bleibt bei Neustart erhalten)
Gleichzeitige Anmeldung von mehreren PCsZulässig (Multi-Session) – RBAC / Single Sign-On Erzwingung nicht unterstützt
IIoT-Illustration nicht sichtbarBrowser-Zoom ist zu klein oder Viewport ist sehr schmal (Minimum 200px des clamp ist größer als Viewport). Desktop empfohlen

5. Sicherheitshinweise

  • HTTPS empfohlen – Bei Exposition im externen Netz HTTPS erzwingen (Tomcat-Connector oder nginx/Apache Reverse-Proxy vorgelagert)
  • REST /api/v1/* erfordert AuthentifizierungApiAuthFilter ist durchlässig, wenn eine der folgenden Authentifizierungsmethoden erfüllt wird:
    • X-API-Key Header (Wert mit EDGE_REST_API_KEY_FILE oder EDGE_REST_API_KEY injiziert)
    • Authorization: Bearer <key> Header
    • oder Anmelde-Sitzung (bereits im Browser angemeldet) – wenn _USER_LOGIN Attribut vorhanden ist, Sitzung validiert
  • ?api_key=<key> Abfrageparameter können in URL-Verlauf/Proxy-Cache gespeichert werden und werden daher mit 401 abgelehnt
  • Schlüssel werden unter edge.rest.api.key in app.properties definiert und nur dann erzwungen, wenn edge.rest.api.auth=true aktiv ist. Weitere Informationen unter REST API Guide
  • API-Aufrufe Audit-Protokoll – Jeder /api/* Aufruf wird eine Zeile im ApiAccessLogFilter Protokoll aufgezeichnet (Methode/Pfad/Status/Dauer/IP/Benutzer/Auth-Modus/UA), IP wird standardmäßig nach RemoteAddr bestimmt, apikey-Klartext wird mit den ersten 4 Zeichen + Länge maskiert
  • Passwort ändern – Zahnradsymbol oben rechts → Einstellungen → edge.admin_password → Speichern → Neustart (Weitere Informationen)

6. Weitere Ressourcen