Ініціалізація даних
Якщо ви розгортаєте Casdoor разом з іншими сервісами як повноцінний додаток, ви можете надати користувачам функцію «з коробки». Це означає, що користувачі можуть безпосередньо використовувати додаток без будь-якої конфігурації.
У такій ситуації ви можете використовувати ініціалізацію даних для реєстрації вашого сервісу в Casdoor через файл конфігурації. Цей файл може бути попередньо визначений або динамічно згенерований вашим сервісом.
Тут ми даємо підручник для імпорту або експорту конфігураційних даних.
Імпорт конфігураційних даних
Якщо в кореневій директорії Casdoor є файл конфігурації з назвою init_data.json
, він буде використаний для ініціалізації даних у Casdoor. Все, що вам потрібно зробити, це розмістити цей файл у кореневій директорії, де буде запущено Casdoor.
Якщо ви використовуєте офіційний Docker-образ Casdoor, ось деякі скрипти, які можуть допомогти вам змонтувати init_data.json
у контейнер.
Шаблон для init_data.json
надається за адресою: init_data.json.template. Перейменуйте його в init_data.json
перед використанням.
Для Docker
Якщо ви розгортаєте Casdoor з Docker, ви можете використовувати команду volume
для монтування init_data.json
у контейнер.
docker run ... -v /path/to/init_data.json:/init_data.json
Для Kubernetes
Якщо ви розгортаєте Casdoor з Kubernetes, ви можете використовувати configmap
для зберігання init_data.json
.
apiVersion: v1
kind: ConfigMap
metadata:
name: casdoor-init-data
data:
init_data.json:
Ви можете змонтувати дані в Casdoor pods
, змонтувавши configmap
. Ви можете змінити ваш 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
Експорт конфігураційних даних
Ви також можете експортувати всі дані конфігурації Casdoor у файл для міграції даних. Go тест з назвою TestDumpToFile()
надається за адресою: init_data_dump_test.go
go test ./object -v -run TestDumpToFile
Після запуску цього Go тесту буде згенеровано файл з назвою init_data_dump.json
у тій же директорії. Цей файл містить ваші повні дані конфігурації Casdoor. Якщо ви хочете мігрувати дані в інший екземпляр Casdoor, просто перейменуйте init_data_dump.json
в init_data.json
і перемістіть його до кореневої директорії цільової папки Casdoor.
Довідники
Всі об'єкти Casdoor, які підтримуються ініціалізацією даних, наведені нижче:
Об'єкт | Go Struct | Документація |
---|---|---|
організації | struct | doc |
додатки | struct | doc |
користувачі | struct | doc |
сертифікати | struct | |
провайдери | struct | doc |
ldaps | struct | doc |
моделі | struct | |
дозволи | struct | документація |
платежі | struct | документація |
продукти | struct | документація |
ресурси | struct | документація |
ролі | struct | документація |
синхронізатори | struct | документація |
токени | struct | документація |
вебхуки | struct | документація |
групи | struct | документація |
адаптери | struct | документація |
примусові виконавці | struct | |
плани | struct | документація |
ціноутворення | struct | документація |
запрошення | struct | документація |
записи | struct | |
сесії | struct | |
підписки | struct | документація |
транзакції | struct |
Якщо ви все ще відчуваєте плутанину щодо заповнення цього шаблону, ви можете викликати RESTful API або використовувати режим налагодження вашого браузера, щоб побачити відповідь GetXXX
на ці об'єкти. Відповіді мають такий самий формат, як init_data.json
.