Saltar al contenido principal

Inicialización de Datos

Si estás desplegando Casdoor con otros servicios como una aplicación completa, es posible que quieras proporcionar una característica listo para usar para los usuarios. Esto significa que los usuarios pueden usar directamente la aplicación sin ninguna configuración.

En tal situación, puedes usar la inicialización de datos para registrar tu servicio en Casdoor a través de un archivo de configuración. Este archivo puede ser predefinido o generado dinámicamente por tu propio servicio.

Aquí damos un tutorial para importar o exportar datos de configuración.

Importar Datos de Configuración

Si hay un archivo de configuración llamado init_data.json en el directorio raíz de Casdoor, se utilizará para inicializar los datos en Casdoor. Todo lo que tienes que hacer es colocar este archivo en el directorio raíz donde Casdoor se ejecutará.

Si estás utilizando la imagen oficial de Docker de Casdoor, aquí hay algunos scripts que pueden ayudarte a montar init_data.json en el contenedor.

Una plantilla para init_data.json se proporciona en: init_data.json.template. Renómbralo a init_data.json antes de usarlo.

Para Docker

Si despliegas Casdoor con Docker, puedes usar el comando volume para montar init_data.json en el contenedor.

docker run ... -v /path/to/init_data.json:/init_data.json

Para Kubernetes

Si despliegas Casdoor con Kubernetes, puedes usar el configmap para almacenar init_data.json.

apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:

Puedes montar los datos en los pods de Casdoor montando el configmap. Puedes modificar tu deployment de la siguiente manera:

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

Exportar Datos de Configuración

También puedes exportar todos los datos de configuración de Casdoor a un archivo para la migración de datos. Una prueba de Go llamada TestDumpToFile() se proporciona en: init_data_dump_test.go

go test ./object -v -run TestDumpToFile

Después de ejecutar esta prueba de Go, se generará un archivo llamado init_data_dump.json en el mismo directorio. Este archivo contiene todos tus datos de configuración de Casdoor. Si quieres migrar los datos a otra instancia de Casdoor, simplemente renombra init_data_dump.json a init_data.json y muévelo al directorio raíz de la carpeta de Casdoor objetivo.

Referencias

Todos los objetos de Casdoor soportados por la inicialización de datos son los siguientes:

ObjetoEstructura de GoDocumentación
organizacionesstructdoc
aplicacionesstructdoc
usuariosstructdoc
certificadosstruct
proveedoresstructdoc
ldapsstructdoc
modelosestructura
permisosestructuradoc
pagosestructuradoc
productosestructuradoc
recursosestructuradoc
rolesestructuradoc
sincronizadoresestructuradoc
tokensestructuradoc
webhooksestructuradoc
gruposestructuradoc
adaptadoresestructuradoc
aplicadoresestructura
planesestructuradoc
preciosestructuradoc
invitacionesestructuradoc
registrosestructura
sesionesestructura
suscripcionesestructuradoc
transaccionesestructura

Si todavía te sientes confundido sobre cómo llenar esta plantilla, puedes llamar a la API RESTful o usar el modo de depuración de tu navegador para ver la respuesta de GetXXX a estos objetos. Las respuestas están en el mismo formato que init_data.json.