Initialisation des données
Si vous déployez Casdoor avec d'autres services en tant qu'application complète, vous voudrez peut-être fournir une fonctionnalité clé en main pour les utilisateurs. Cela signifie que les utilisateurs peuvent utiliser directement l'application sans aucune configuration.
Dans une telle situation, vous pouvez utiliser l'initialisation des données pour enregistrer votre service dans Casdoor via un fichier de configuration. Ce fichier peut être prédéfini ou généré dynamiquement par votre propre service.
Ici, nous donnons un tutoriel pour importer ou exporter des données de configuration.
Importer des données de configuration
S'il y a un fichier de configuration nommé init_data.json
dans le répertoire racine de Casdoor, il sera utilisé pour initialiser les données dans Casdoor. Tout ce que vous avez à faire est de placer ce fichier dans le répertoire racine où Casdoor sera exécuté.
Si vous utilisez l'image Docker officielle de Casdoor, voici quelques scripts qui peuvent vous aider à monter init_data.json
dans le conteneur.
Un modèle pour init_data.json
est fourni à : init_data.json.template. Renommez-le en init_data.json
avant de l'utiliser.
Pour Docker
Si vous déployez Casdoor avec Docker, vous pouvez utiliser la commande volume
pour monter init_data.json
dans le conteneur.
docker run ... -v /path/to/init_data.json:/init_data.json
Pour Kubernetes
Si vous déployez Casdoor avec Kubernetes, vous pouvez utiliser le configmap
pour stocker init_data.json
.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Vous pouvez monter les données dans les pods
Casdoor en montant le configmap
. Vous pouvez modifier votre déploiement
comme suit :
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
Exporter des données de configuration
Vous pouvez également exporter toutes les données de configuration de Casdoor dans un fichier pour la migration des données. Un test Go nommé TestDumpToFile()
est fourni à : init_data_dump_test.go
go test ./object -v -run TestDumpToFile
Après avoir exécuté ce test Go, un fichier nommé init_data_dump.json
sera généré dans le même répertoire. Ce fichier contient toutes vos données de configuration Casdoor. Si vous souhaitez migrer les données vers une autre instance Casdoor, renommez simplement init_data_dump.json
en init_data.json
et déplacez-le dans le répertoire racine du dossier Casdoor cible.
Références
Tous les objets Casdoor pris en charge par l'initialisation des données sont les suivants :
Objet | Structure Go | Documentation |
---|---|---|
organisations | struct | doc |
applications | struct | doc |
utilisateurs | struct | doc |
certificats | struct | |
fournisseurs | struct | doc |
ldaps | struct | doc |
modèles | structure | |
permissions | structure | doc |
paiements | structure | doc |
produits | structure | doc |
ressources | structure | doc |
rôles | structure | doc |
synchroniseurs | structure | doc |
jetons | structure | doc |
webhooks | structure | doc |
groupes | structure | doc |
adaptateurs | structure | doc |
contrôleurs d'accès | structure | |
plans | structure | doc |
tarifications | structure | doc |
invitations | structure | doc |
enregistrements | structure | |
sessions | structure | |
abonnements | structure | doc |
transactions | structure |
Si vous êtes toujours confus sur la façon de remplir ce modèle, vous pouvez appeler l'API RESTful ou utiliser le mode débogage de votre navigateur pour voir la réponse de GetXXX
à ces objets. Les réponses sont dans le même format que init_data.json
.