Zum Inhalt springen

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)
  • Benutzername/Passwort-Authentifizierung
  • Integrierte Multi-Faktor-Authentifizierung (TOTP)
  • E-Mail-basiertes Passwort-Zurücksetzen
  • Kontosperrschutz
  • Passwort-Komplexitätsanforderungen
  • Bootstrap-Administrator-Konfiguration
  • RAMP-Backend und -Frontend bereitgestellt
  • SMTP-Server-Zugriff (für Passwort-Zurücksetzen-E-Mails) – Optional, aber empfohlen
  • Datenbankverbindung konfiguriert

JWT (JSON Web Tokens) werden in RAMP für die Sitzungsverwaltung verwendet.

{
"Jwt": {
"Secret": "YourSuperSecretKeyThatIsAtLeast32CharactersLong!",
"Issuer": "RAMP.API",
"Audience": "RAMP.Web",
"AccessTokenExpirationMinutes": 480,
"RefreshTokenExpirationDays": 30
}
}
EinstellungBeschreibungEmpfohlener Wert
SecretVerschlüsselungsschlüssel für JWT-Token (mindestens 32 Zeichen)Zufällige Zeichenfolge mit 64+ Zeichen
IssuerIdentifiziert den Aussteller des TokensRAMP.API
AudienceIdentifiziert, wer das Token verwenden kannRAMP.Web
AccessTokenExpirationMinutesWie lange Zugriffstoken gültig sind480 (8 Stunden)
RefreshTokenExpirationDaysWie lange Refresh-Token gültig sind30 (30 Tage)
Terminal-Fenster
openssl rand -base64 64

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.

{
"Bootstrap": {
"Administrators": [
{
"IdentityProvider": "RAMP",
"Username": "admin",
"Email": "admin@yourcompany.com",
"Password": "Passw0rd"
}
]
}
}
  • 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)
  • Mindestens 8 Zeichen
  • Mindestens 1 Ziffer
  • Mindestens 1 Kleinbuchstabe
  • Mindestens 1 Großbuchstabe
  • Mindestens 1 nicht-alphanumerisches Zeichen (!@#$%^&*)

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.

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"
}
}

Terminal-Fenster
cd src/RAMP.API
dotnet run
Terminal-Fenster
cd src/RAMP.Web
npm run dev
  1. Navigieren Sie zu http://localhost:5173 (oder Ihrer konfigurierten URL)
  2. Sie sollten die RAMP-Anmeldeseite sehen
  3. Melden Sie sich mit Ihren Bootstrap-Administrator-Anmeldedaten an

Schritt 5: Erste Anmeldung und Sicherheitseinrichtung

Abschnitt betitelt „Schritt 5: Erste Anmeldung und Sicherheitseinrichtung“
  1. Mit Bootstrap-Anmeldedaten anmelden
  2. Zu Einstellungen -> Profil navigieren
  3. Passwort ändern klicken
  4. Aktuelles Passwort und neues sicheres Passwort eingeben
  5. 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:

  1. Zu Einstellungen -> Sicherheit navigieren
  2. MFA aktivieren klicken
  3. QR-Code mit einer Authenticator-App scannen:
    • Google Authenticator
    • Microsoft Authenticator
    • Authy
  4. Den 6-stelligen Code zur Verifizierung eingeben
  5. Ihre 10 Backup-Codes an einem sicheren Ort speichern

  1. Als Administrator anmelden
  2. Zu Admin -> Benutzer navigieren
  3. Benutzer erstellen klicken
  4. Benutzerdetails ausfüllen:
    • Identitätsanbieter: RAMP
    • Benutzername
    • E-Mail
    • Passwort (wird gehasht gespeichert)
  5. Rollen zuweisen (z. B. Benutzer, SystemManager)
  6. Erstellen klicken
  1. Zu Admin -> Benutzer navigieren
  2. Benutzer einladen klicken
  3. E-Mail-Adresse eingeben
  4. Rollen auswählen
  5. Benutzer erhält E-Mail mit temporärem Passwort
  6. Benutzer muss das Passwort bei der ersten Anmeldung ändern

{
"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"
}
]
}
}
Terminal-Fenster
cd src/RAMP.API
dotnet 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"

  • 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

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
  • Zugriffstoken: 8 Stunden (Standard)
  • Refresh-Token: 30 Tage (Standard)
  • Auto-Refresh: Das Frontend aktualisiert Token automatisch
  • Abmeldung: Widerruft den Refresh-Token

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';

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:Secret gesetzt ist und mindestens 32 Zeichen hat
  • Backend-Protokolle auf JWT-Fehler prüfen

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:EnableSsl zu 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';

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