Dateninitialisierung
Wenn Sie Casdoor zusammen mit anderen Diensten als eine komplette Anwendung bereitstellen, möchten Sie den Benutzern möglicherweise eine Out-of-the-Box-Funktion bieten. Das bedeutet, dass Benutzer die Anwendung direkt ohne jegliche Konfiguration verwenden können.
In einer solchen Situation können Sie die Dateninitialisierung verwenden, um Ihren Dienst über eine Konfigurationsdatei in Casdoor zu registrieren. Diese Datei kann vordefiniert sein oder dynamisch von Ihrem eigenen Dienst generiert werden.
Hier geben wir ein Tutorial für das Importieren oder Exportieren von Konfigurationsdaten.
Konfigurationsdaten importieren
Wenn es eine Konfigurationsdatei namens init_data.json
im Stammverzeichnis von Casdoor gibt, wird sie verwendet, um Daten in Casdoor zu initialisieren. Sie müssen diese Datei nur im Stammverzeichnis platzieren, wo Casdoor ausgeführt wird.
Wenn Sie das offizielle Docker-Image von Casdoor verwenden, finden Sie hier einige Skripte, die Ihnen helfen können, init_data.json
in den Container einzubinden.
Eine Vorlage für init_data.json
wird bereitgestellt unter: init_data.json.template. Benennen Sie es in init_data.json
um, bevor Sie es verwenden.
Für Docker
Wenn Sie Casdoor mit Docker bereitstellen, können Sie den Befehl volume
verwenden, um init_data.json
in den Container einzubinden.
docker run ... -v /path/to/init_data.json:/init_data.json
Für Kubernetes
Wenn Sie Casdoor mit Kubernetes bereitstellen, können Sie die configmap
verwenden, um init_data.json
zu speichern.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Sie können die Daten in Casdoor pods
einbinden, indem Sie die configmap
mounten. Sie können Ihre deployment
wie folgt ändern:
apiVersion: apps/v1
kind: Deployment
...
spec:
template:
...
spec:
containers:
...
volumeMounts:
- mountPath: /init_data.json
name: casdoor-init-data-volume
subPath: init_data.json
volumes:
- configMap:
name: casdoor-init-data
name: casdoor-init-data-volume
Konfigurationsdaten exportieren
Sie können auch alle Casdoor-Konfigurationsdaten in eine Datei exportieren, um die Daten zu migrieren. Ein Go-Test namens TestDumpToFile()
wird bereitgestellt unter: init_data_dump_test.go
go test ./object -v -run TestDumpToFile
Nach dem Ausführen dieses Go-Tests wird eine Datei namens init_data_dump.json
im gleichen Verzeichnis erzeugt. Diese Datei enthält Ihre vollständigen Casdoor-Konfigurationsdaten. Wenn Sie die Daten in eine andere Casdoor-Instanz migrieren möchten, benennen Sie einfach init_data_dump.json
in init_data.json
um und verschieben Sie es in das Stammverzeichnis des Ziel-Casdoor-Ordners.
Referenzen
Alle von der Dateninitialisierung unterstützten Casdoor-Objekte sind wie folgt:
Objekt | Go-Struktur | Dokumentation |
---|---|---|
Organisationen | struct | doc |
Anwendungen | struct | doc |
Benutzer | struct | doc |
Zertifikate | struct | |
Anbieter | struct | doc |
ldaps | struct | doc |
Modelle | Struktur | |
Berechtigungen | Struktur | Dokumentation |
Zahlungen | Struktur | Dokumentation |
Produkte | Struktur | Dokumentation |
Ressourcen | Struktur | Dokumentation |
Rollen | Struktur | Dokumentation |
Synchronisierer | Struktur | Dokumentation |
Token | Struktur | Dokumentation |
Webhooks | Struktur | Dokumentation |
Gruppen | Struktur | Dokumentation |
Adapter | Struktur | Dokumentation |
Durchsetzer | Struktur | |
Pläne | Struktur | Dokumentation |
Preisgestaltung | Struktur | Dokumentation |
Einladungen | Struktur | Dokumentation |
Aufzeichnungen | Struktur | |
Sitzungen | Struktur | |
Abonnements | Struktur | Dokumentation |
Transaktionen | Struktur |
Wenn Sie immer noch verwirrt sind, wie Sie diese Vorlage ausfüllen sollen, können Sie die RESTful-API aufrufen oder den Debug-Modus Ihres Browsers verwenden, um die Antwort von GetXXX
auf diese Objekte zu sehen. Die Antworten sind im gleichen Format wie init_data.json
.