Detail
Detail
Aktuell hat ein TopLogic-System ein mehr oder weniger hartcodiertes Initialpassort. Nimmt man so ein System am Internet live, ist das gefährlich, weil ein Loginversuch stattfinden könnte, noch bevor man die Chance hatte, das Passwort zu ändern.
Verbesserung
Über die Umgebungsvariable/Systemproperty "tl_initial_password" soll beim ersten Start das "root"-Passwort gesetzt werden. Wenn diese Variable nicht gesetzt ist, soll ein sicheres Passwort gewürfelt und in das Anwendungs-Log geschrieben werden. Von dort aus kann man dann nach erstem Start der Anwendung auf sichere Art und Weise die Zugangsdaten erhalten.
Dieses Vorgehen entspricht z.B. dem Setup einer Oracle-Datenbank als Docker-Container.
Code-Migration
Wenn weiterhin in der Entwicklung ein Standardpasswort für den Test aus der Entwicklungsumgebung heraus verwendet werden soll, muss in der Launch-Config der Applikation -Dtl_initial_password=<my-dev-password> als VM-Argument eingetragen werden.
Test
Automatisches Passwort
- Neue App aufsetzen.
- App starten mvn
- Einloggen mit Passwort, das auf der Console ausgegeben wird.
Vordefiniertes Passwort
- Neue App aufsetzen.
- App starten mit `mvn -Dtl_initial_password=myFunnyPassword
- Einloggen mit root/myFunnyPassword
Docker
- App als Docker-Image starten: {{{
./src/main/docker/createDocker.sh -e tl_initial_password=myDockerPassword }}}
- Einloggen in den Container mit root/myDockerPassword
Vgl. https://dev.top-logic.com/tl/content/docs/GetStarted/Preconfigured/StartDocker/ und verwandte Doku-Seiten.