메인 콘텐츠로 건너뛰기

데이터 초기화

Casdoor을 완전한 응용 프로그램으로 다른 서비스와 함께 배포하는 경우, 사용자에게 박스 밖 기능을 제공하려고 할 수 있습니다. 이는 사용자가 어떤 설정 없이 직접 응용 프로그램을 사용할 수 있다는 것을 의미합니다.

이런 상황에서는 데이터 초기화를 사용하여 설정 파일을 통해 Casdoor에 서비스를 등록할 수 있습니다. 이 파일은 미리 정의되거나 귀하의 서비스에 의해 동적으로 생성될 수 있습니다.

여기에서는 구성 데이터를 가져오거나 내보내는 방법에 대한 튜토리얼을 제공합니다.

구성 데이터 가져오기

Casdoor의 루트 디렉토리에 init_data.json이라는 이름의 설정 파일이 있으면 Casdoor에서 데이터를 초기화하는 데 사용됩니다. Casdoor가 실행될 루트 디렉토리에 이 파일을 놓는 것이 전부입니다.

Casdoor의 공식 Docker 이미지를 사용하는 경우, 컨테이너에 init_data.json을 마운트하는 데 도움이 될 수 있는 스크립트가 있습니다.

init_data.json에 대한 템플릿이 다음 위치에서 제공됩니다: init_data.json.template. 사용하기 전에 init_data.json으로 이름을 바꾸십시오.

도커를 위해

Docker로 Casdoor를 배포하는 경우, volume 명령을 사용하여 컨테이너에 init_data.json을 마운트할 수 있습니다.

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

쿠버네티스를 위해

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

구성 데이터 내보내기

또한 Casdoor 구성 데이터 전체를 파일로 내보내 데이터 마이그레이션을 할 수 있습니다. TestDumpToFile()라는 Go 테스트가 다음 위치에서 제공됩니다: init_data_dump_test.go

go test ./object -v -run TestDumpToFile

이 Go 테스트를 실행한 후, init_data_dump.json이라는 파일이 같은 디렉토리에 생성됩니다. 이 파일에는 Casdoor 구성 데이터 전체가 포함되어 있습니다. 다른 Casdoor 인스턴스로 데이터를 마이그레이션하려면, init_data_dump.jsoninit_data.json으로 이름을 바꾸고 대상 Casdoor 폴더의 루트 디렉토리로 이동시키면 됩니다.

참조

데이터 초기화에 의해 지원되는 모든 Casdoor 객체는 다음과 같습니다:

객체Go 구조체문서화
조직structdoc
응용 프로그램structdoc
사용자structdoc
인증서struct
제공자structdoc
ldapsstructdoc
modelsstruct
permissionsstructdoc
paymentsstructdoc
productsstructdoc
resourcesstructdoc
rolesstructdoc
syncersstructdoc
tokensstructdoc
webhooksstructdoc
groupsstructdoc
adaptersstructdoc
집행자들struct
계획들structdoc
가격 책정structdoc
초대장들structdoc
기록들struct
세션들struct
구독들structdoc
거래들struct

이 템플릿을 작성하는 데 혼란스러움을 느낀다면, RESTful API를 호출하거나 브라우저의 디버그 모드를 사용하여 이러한 객체에 대한 GetXXX의 응답을 확인할 수 있습니다. 응답은 init_data.json과 동일한 형식입니다.