跳到主内容

数据初始化

如果您将Casdoor和其他服务作为一个应用整体进行部署, 您可能想要为用户提供开箱即用的功能(用户不需要任何配置就可以直接使用应用程序)。

在这种情况下,您可以使用数据初始化功能,通过一个配置文件将您服务注册到Casdoor。 此文件可以由服务所有者预定义或动态生。

使用方式

如果在 Casdoor 的根目录下有一个名为init_data.json的配置文件,它将被用于初始化Casdoor中的数据。 您要做的只是将此文件放到运行Casdoor的根目录下。

如果您使用 Casdoor 的官方docker<code>镜像,以下脚本可以帮助您将 <code>init_data.json 挂载到容器里。

Docker

如果您使用 docker部署Casdoor ,您可以使用 init_data.json 挂载到容器中。

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

Kubernetes

如果您使用 Kubernetes 部署了 Casdoor ,您可以使用 configmap 来存放 init_data.json

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

您可以通过挂载 configmap 将数据挂载到Casdoor的pods中。 您可以按照如下例子修改 deployment 的定义文件:

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

文件内容

Casto版本库的根目录中已经有一个名为 init_data.json.template 的模板文件。 您可以参考此文件来自定义您的数据初始化文件。

以下是每个对象对应的Go结构体和文档链接:

对象Go 结构体文档
组织机构stuctdoc
应用stuctdoc
用户stuctdoc
提供商stuctdoc
证书stuct
ldapsstuctdoc

如果您对填写此模板仍然感到困惑, 您可以调用 restful api或使用浏览器的调试模式来查看这些对象的 GetXXX 的响应。 这些响应和 init_data.json 的内容是相同的。