데이터베이스
데이터베이스 Syncer
데모로 만든 사용자 테이블은 템플릿 XLSX 파일에서 가져옵니다.
새로운 syncer를 만들려면 Syncers 탭으로 이동하여 아래와 같이 모든 필요한 정보를 입력하십시오. 그런 다음 변경 사항을 저장하십시오.
팁
일반적으로 Casdoor 열에는 최소한 ID
와 Name
을 입력해야 합니다. 다른 중요한 필드에는 createdTime
, Password
, DisplayName
이 포함됩니다.
다음 필드는 필수입니다:
Organization
: 사용자가 가져올 조직Name
: Syncer 이름Type
: "database"를 선택하세요Host
: 원래 데이터베이스 호스트Port
: 원래 데이터베이스 포트User
: 원래 데이터베이스 사용자 이름Password
: 원래 데이터베이스 비밀번호Database type
: MySQL, PostgreSQL, SQL Server, Oracle, SQLite 등 모든 Xorm 지원 데이터베이스Database
: 원래 데이터베이스 이름Table
: 원래 사용자 테이블 이름테이블 열
Column name
: 원래 사용자 열 이름Column type
: 원래 사용자 열 유형Casdoor Column
: Casdoor 사용자 열 이름
선택적 필드:
Is hashed
: 해시 값을 계산할지 여부. 이 옵션을 활성화하면, 동기화 도구는 원본 테이블의 사용자 필드가 업데이트된 경우에만 사용자를 동기화합니다. 이 옵션을 비활성화하면, 필드만 업데이트되어도 동기화 도구는 여전히 사용자를 동기화합니다. 간단히 말해서, 해시 계산에 참여하는 필드(활성화된 "Is hashed")가 업데이트될 때까지 사용자는 동기화되지 않습니다.Is key
: 원본 테이블의 사용자와 Casdoor 테이블의 사용자의 기본 키인지 여부. 데이터베이스를 동기화할 때, "Is key" 옵션이 선택된 필드를 기반으로 결정됩니다. 필드의 "Is key" 버튼 중 적어도 하나는 선택되어야 합니다. 선택된 것이 없으면, 첫 번째 "Is key" 옵션이 기본적으로 선택됩니다.Avatar base URL
: 사용자를 동기화할 때, Avatar base URL이 비어 있지 않고 원본 user.avatar에 "http" 접두사가 없으면, 새로운 user.avatar는 Avatar base URL + user.avatar로 대체됩니다.Affiliation table
: 이 테이블은 데이터베이스에서 사용자의 소속을 동기화하는 데 사용됩니다. 소속은 "Affiliation table"의 int 타입 코드일 수 있으므로, 문자열로 매핑해야 합니다. getAffiliationMap()를 참조하세요. Casdoor에는 몇 가지 불필요한 필드가 있으므로, 여기에서는score
를 사용하여 int 코드를 문자열 이름으로 매핑합니다.
동기화 도구를 구성한 후, Is enable 옵션을 활성화하고 저장하세요. 동기화 도구가 작동을 시작합니다.
데이터베이스 동기화를 위해 "Sync" 버튼을 사용할 수도 있습니다.
업데이트
Table columns
가 다음 그림과 같이 설정되면, 업데이트 작업이 수행됩니다.
키에 대한 두 테이블의 데이터가 다른 경우, 기본 키를 기반으로 두 테이블 간의 데이터를 동기화할 수 있습니다.
- 원본 테이블에서 사용자 업데이트
- Casdoor 테이블에서 사용자 업데이트
추가
Table columns
가 다음 그림과 같이 설정되면, 추가 작업이 수행됩니다.
두 테이블 간의 데이터 수가 다른 경우, 기본 키를 기반으로 데이터 수가 적은 테이블에 데이터를 추가합니다.
- 원본 테이블에 사용자 추가
- Casdoor 테이블에 사용자 추가