RAMP Native Authentication
RAMP Native Authentication verwendet RAMPs integrierte Benutzerdatenbank mit Benutzername/Passwort-Anmeldung. Dies ist die Standard-Authentifizierungsmethode und eignet sich ideal für:
- Kleine bis mittelgroße Teams (< 50 Benutzer)
- Schnellen Einstieg in RAMP
- Organisationen ohne vorhandene Identitätsanbieter
- Szenarien mit integrierter Multi-Faktor-Authentifizierung (MFA)
Funktionen
Abschnitt betitelt „Funktionen“- Benutzername/Passwort-Authentifizierung
- Integrierte Multi-Faktor-Authentifizierung (TOTP)
- E-Mail-basiertes Passwort-Zurücksetzen
- Kontosperrschutz
- Passwort-Komplexitätsanforderungen
- Bootstrap-Administrator-Konfiguration
Voraussetzungen
Abschnitt betitelt „Voraussetzungen“- RAMP-Backend und -Frontend bereitgestellt
- SMTP-Server-Zugriff (für Passwort-Zurücksetzen-E-Mails) – Optional, aber empfohlen
- Datenbankverbindung konfiguriert
Schritt 1: JWT-Einstellungen konfigurieren
Abschnitt betitelt „Schritt 1: JWT-Einstellungen konfigurieren“JWT (JSON Web Tokens) werden in RAMP für die Sitzungsverwaltung verwendet.
appsettings.json bearbeiten
Abschnitt betitelt „appsettings.json bearbeiten“{ "Jwt": { "Secret": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!", "Issuer": "RAMP.API", "Audience": "RAMP.Web", "AccessTokenExpirationMinutes": 480, "RefreshTokenExpirationDays": 30 }}Konfigurationsreferenz
Abschnitt betitelt „Konfigurationsreferenz“| Einstellung | Beschreibung | Empfohlener Wert |
|---|---|---|
Secret | Verschlüsselungsschlüssel für JWT-Token (mindestens 32 Zeichen) | Zufällige Zeichenfolge mit 64+ Zeichen |
Issuer | Identifiziert den Aussteller des Tokens | RAMP.API |
Audience | Identifiziert, wer das Token verwenden kann | RAMP.Web |
AccessTokenExpirationMinutes | Wie lange Zugriffstoken gültig sind | 480 (8 Stunden) |
RefreshTokenExpirationDays | Wie lange Refresh-Token gültig sind | 30 (30 Tage) |
Einen sicheren Geheimschlüssel generieren
Abschnitt betitelt „Einen sicheren Geheimschlüssel generieren“openssl rand -base64 64[Convert]::ToBase64String((1..64 | ForEach-Object {Get-Random -Maximum 256}))Schritt 2: Bootstrap-Administrator konfigurieren (Empfohlen)
Abschnitt betitelt „Schritt 2: Bootstrap-Administrator konfigurieren (Empfohlen)“Bootstrap-Administratoren werden automatisch beim ersten Start erstellt. So wird sichergestellt, dass Sie sich sofort nach der Bereitstellung anmelden können.
appsettings.json bearbeiten
Abschnitt betitelt „appsettings.json bearbeiten“{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "Passw0rd" } ] }}Konfigurationshinweise
Abschnitt betitelt „Konfigurationshinweise“- IdentityProvider: Muss
"RAMP"für die native Authentifizierung sein - Username: Wählen Sie einen Benutzernamen für den Administrator
- Email: Gültige E-Mail-Adresse (erforderlich für Passwort-Zurücksetzen)
- Password: Muss die Passwortanforderungen erfüllen (siehe unten)
Passwortanforderungen
Abschnitt betitelt „Passwortanforderungen“- Mindestens 8 Zeichen
- Mindestens 1 Ziffer
- Mindestens 1 Kleinbuchstabe
- Mindestens 1 Großbuchstabe
- Mindestens 1 nicht-alphanumerisches Zeichen (
!@#$%^&*)
Mehrere Bootstrap-Administratoren
Abschnitt betitelt „Mehrere Bootstrap-Administratoren“Sie können mehrere Administratoren konfigurieren:
{ "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "Passw0rd" }, { "IdentityProvider": "RAMP", "Username": "sysadmin", "Email": "sysadmin@yourcompany.com", "Password": "SysAdmin@456" } ] }}Schritt 3: E-Mail konfigurieren (Optional, aber empfohlen)
Abschnitt betitelt „Schritt 3: E-Mail konfigurieren (Optional, aber empfohlen)“E-Mail ist für die Passwort-Zurücksetzen-Funktionalität erforderlich. Weitere Informationen zur SMTP-Konfiguration finden Sie unter E-Mail-Einrichtungsanleitung.
Schnelle SMTP-Konfiguration
Abschnitt betitelt „Schnelle SMTP-Konfiguration“Fügen Sie Folgendes zur appsettings.json hinzu:
{ "Smtp": { "Host": "smtp.gmail.com", "Port": 587, "EnableSsl": true, "Username": "noreply@yourcompany.com", "Password": "your-smtp-password", "FromAddress": "noreply@yourcompany.com", "FromName": "RAMP System" }}Schritt 4: RAMP starten
Abschnitt betitelt „Schritt 4: RAMP starten“Backend starten
Abschnitt betitelt „Backend starten“cd src/RAMP.APIdotnet runFrontend starten
Abschnitt betitelt „Frontend starten“cd src/RAMP.Webnpm run devStart verifizieren
Abschnitt betitelt „Start verifizieren“- Navigieren Sie zu
http://localhost:5173(oder Ihrer konfigurierten URL) - Sie sollten die RAMP-Anmeldeseite sehen
- Melden Sie sich mit Ihren Bootstrap-Administrator-Anmeldedaten an
Schritt 5: Erste Anmeldung und Sicherheitseinrichtung
Abschnitt betitelt „Schritt 5: Erste Anmeldung und Sicherheitseinrichtung“Bootstrap-Passwort ändern
Abschnitt betitelt „Bootstrap-Passwort ändern“- Mit Bootstrap-Anmeldedaten anmelden
- Zu Einstellungen -> Profil navigieren
- Passwort ändern klicken
- Aktuelles Passwort und neues sicheres Passwort eingeben
- Speichern klicken
Multi-Faktor-Authentifizierung aktivieren (Optional)
Abschnitt betitelt „Multi-Faktor-Authentifizierung aktivieren (Optional)“Aktivieren Sie MFA für Ihr Administratorkonto für maximale Sicherheit:
- Zu Einstellungen -> Sicherheit navigieren
- MFA aktivieren klicken
- QR-Code mit einer Authenticator-App scannen:
- Google Authenticator
- Microsoft Authenticator
- Authy
- Den 6-stelligen Code zur Verifizierung eingeben
- Ihre 10 Backup-Codes an einem sicheren Ort speichern
Schritt 6: Weitere Benutzer erstellen
Abschnitt betitelt „Schritt 6: Weitere Benutzer erstellen“Option 1: Über die Weboberfläche
Abschnitt betitelt „Option 1: Über die Weboberfläche“- Als Administrator anmelden
- Zu Admin -> Benutzer navigieren
- Benutzer erstellen klicken
- Benutzerdetails ausfüllen:
- Identitätsanbieter:
RAMP - Benutzername
- Passwort (wird gehasht gespeichert)
- Identitätsanbieter:
- Rollen zuweisen (z. B.
Benutzer,SystemManager) - Erstellen klicken
Option 2: Benutzer einladen (mit E-Mail)
Abschnitt betitelt „Option 2: Benutzer einladen (mit E-Mail)“- Zu Admin -> Benutzer navigieren
- Benutzer einladen klicken
- E-Mail-Adresse eingeben
- Rollen auswählen
- Benutzer erhält E-Mail mit temporärem Passwort
- Benutzer muss das Passwort bei der ersten Anmeldung ändern
Vollständiges Konfigurationsbeispiel
Abschnitt betitelt „Vollständiges Konfigurationsbeispiel“{ "ConnectionStrings": { "DefaultConnection": "Server=localhost;Database=RAMP;User Id=ramp;Password=yourpassword;TrustServerCertificate=true" }, "Jwt": { "Secret": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!", "Issuer": "RAMP.API", "Audience": "RAMP.Web", "AccessTokenExpirationMinutes": 480, "RefreshTokenExpirationDays": 30 }, "Smtp": { "Host": "smtp.gmail.com", "Port": 587, "EnableSsl": true, "Username": "noreply@yourcompany.com", "Password": "your-smtp-password", "FromAddress": "noreply@yourcompany.com", "FromName": "RAMP System" }, "Bootstrap": { "Administrators": [ { "IdentityProvider": "RAMP", "Username": "admin", "Email": "admin@yourcompany.com", "Password": "Passw0rd" } ] }}Sichere Geheimnis-Speicherung
Abschnitt betitelt „Sichere Geheimnis-Speicherung“cd src/RAMP.APIdotnet user-secrets set "Jwt:Secret" "YourDevSecretKey123456789012345678901234567890"dotnet user-secrets set "Smtp:Password" "your-smtp-password"dotnet user-secrets set "ConnectionStrings:DefaultConnection" "Server=localhost;Database=RAMP_Dev;Integrated Security=true"{ "AzureKeyVault": { "Enabled": true, "VaultUri": "https://your-ramp-vault.vault.azure.net/" }}Speichern Sie diese Geheimnisse im Key Vault:
Jwt--SecretSmtp--PasswordConnectionStrings--DefaultConnection
Sicherheitsfunktionen
Abschnitt betitelt „Sicherheitsfunktionen“Kontosperrung
Abschnitt betitelt „Kontosperrung“- Fehlgeschlagene Versuche: 5 fehlgeschlagene Anmeldeversuche lösen eine Sperrung aus
- Sperrdauer: 5 Minuten
- Zurücksetzen: Die Sperrung wird nach Ablauf der Dauer automatisch aufgehoben
- Administrator-Override: Administratoren können Konten über Admin -> Benutzer entsperren
Passwortanforderungen
Abschnitt betitelt „Passwortanforderungen“Erzwungen von ASP.NET Core Identity:
- Mindestlänge: 8 Zeichen
- Ziffer erforderlich: Ja
- Kleinbuchstabe erforderlich: Ja
- Großbuchstabe erforderlich: Ja
- Nicht-alphanumerisches Zeichen erforderlich: Ja
- Neue Benutzer erlauben: Ja
Sitzungsverwaltung
Abschnitt betitelt „Sitzungsverwaltung“- Zugriffstoken: 8 Stunden (Standard)
- Refresh-Token: 30 Tage (Standard)
- Auto-Refresh: Das Frontend aktualisiert Token automatisch
- Abmeldung: Widerruft den Refresh-Token
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“Anmeldung mit Bootstrap-Administrator nicht möglich
Abschnitt betitelt „Anmeldung mit Bootstrap-Administrator nicht möglich“Prüfung 1: Überprüfen, ob das Passwort die Anforderungen erfüllt
- Mindestens 8 Zeichen
- Enthält Großbuchstaben, Kleinbuchstaben, Ziffer und Sonderzeichen
Prüfung 2: Anwendungsstart-Protokolle prüfen
"Bootstrap administrator created: admin"Prüfung 3: Datenbankverbindung verifizieren
SELECT * FROM Users WHERE Username = 'admin';Fehler “Ungültige Anmeldedaten”
Abschnitt betitelt „Fehler “Ungültige Anmeldedaten”“Prüfung 1: Benutzername und Passwort überprüfen
- Benutzernamen unterscheiden zwischen Groß- und Kleinschreibung
- Keine zusätzlichen Leerzeichen sicherstellen
Prüfung 2: Prüfen, ob das Konto gesperrt ist
- Zu Admin -> Benutzer -> Benutzer suchen navigieren
- Status “Ist gesperrt” prüfen
- Auf “Konto entsperren” klicken, wenn nötig
Prüfung 3: JWT-Konfiguration überprüfen
- Sicherstellen, dass
Jwt:Secretgesetzt ist und mindestens 32 Zeichen hat - Backend-Protokolle auf JWT-Fehler prüfen
Passwort-Zurücksetzen-E-Mail wird nicht gesendet
Abschnitt betitelt „Passwort-Zurücksetzen-E-Mail wird nicht gesendet“Prüfung 1: SMTP-Konfiguration überprüfen
- SMTP-Anmeldedaten mit einem Mail-Client testen
- Prüfen, ob die Firewall ausgehende SMTP-Verbindungen erlaubt
- Sicherstellen, dass
Smtp:EnableSslzu Ihrem SMTP-Server passt
Prüfung 2: Anwendungsprotokolle auf E-Mail-Fehler prüfen
Prüfung 3: Prüfen, ob der Benutzer eine E-Mail-Adresse hat
SELECT Email FROM Users WHERE Username = 'username';Token-Ablauf-Fehler
Abschnitt betitelt „Token-Ablauf-Fehler“Prüfung 1: Systemzeit korrekt überprüfen
- JWT-Validierung ist zeitkritisch
- Sicherstellen, dass Server- und Client-Uhren synchronisiert sind
Prüfung 2: Token-Ablauf verlängern
{ "Jwt": { "AccessTokenExpirationMinutes": 960 }}Prüfung 3: Browser-Speicher leeren
- Browser-Entwicklertools öffnen
- localStorage und sessionStorage leeren
- Seite neu laden und erneut anmelden
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- MFA-Einrichtungsanleitung – Multi-Faktor-Authentifizierung aktivieren
- E-Mail-Einrichtungsanleitung – SMTP für Passwort-Zurücksetzen konfigurieren
- Bootstrap-Administratoren – Erweiterte Bootstrap-Konfiguration