it-swarm.com.de

Bester Weg, wichtige Referenzen im Spring Boot zu definieren

Bei der Verwendung der Spring Boot-Anwendung verwenden wir unterschiedliche application.properties-Dateien in verschiedenen Umgebungen. 

Wir legen wichtige Anmeldeinformationen wie Datenbankkonfigurationen, Server-IPs, Benutzername/Kennwort des Administrators usw. an.

Ich mache mir Sorgen, was passieren würde, wenn jemand unsere Anwendungseigenschaften und alle wichtigen Details erhält.

Gibt es einen guten Ansatz, um wichtige Zugangsdaten irgendwo abzulegen und in unserer Spring Boot-Anwendung basierend auf der Umgebung zu erhalten?

9
Abhishek saini

Viele Techniken

  • Token ersetzen (Maven Replace)

    application.properties spring.datasource.password=#MY_DB_PASSWORD#
    tokens.properties #MY_DB_PASSWORD#=SECRET_PASSWORD

    wo tokens.properties einen Zugriffsschutz hat

  • Umgebungsvariable verwenden
    mvn spring-boot:run -Dspring.datasource.password=SECRET_PASSWORD

    oder einfach
    spring.datasource.password=${myDbPasswordEnv}

  • Verwenden Sie Jaspyt , um Ihre Eigenschaften zu verschlüsseln 

3
Halayem Anis

Eine Lösung besteht darin, Umgebungsvariablen und Eigenschaftsplatzhalter in den Anwendungseigenschaften zu verwenden. Angenommen, Sie möchten das Kennwort der Datenbank speichern. Erstellen Sie eine Umgebungsvariable:

setx DEV_DB_PASS <your_dev_database_password>

Jetzt können Sie in der Anwendungseigenschaftendatei auf diesen Wert zugreifen:

spring.datasource.password = ${DEV_DB_PASS}

Sie können auf die offizielle Dokumentation verweisen.

0
Prashant

Sie sollten Spring Cloud Config verwenden. Da es sich am besten für die Verwaltung der Konfiguration an einem zentralen Ort mit git Repository oder ähnlichem eignet.

0