diff --git a/object/syncer_util.go b/object/syncer_util.go index e60e24b1..ea4bb10a 100644 --- a/object/syncer_util.go +++ b/object/syncer_util.go @@ -173,7 +173,18 @@ func (syncer *Syncer) getOriginalUsersFromMap(results []map[string]string) []*Or } for _, tableColumn := range syncer.TableColumns { - syncer.setUserByKeyValue(originalUser, tableColumn.CasdoorName, result[tableColumn.Name]) + value := "" + if strings.Contains(tableColumn.Name, "+") { + names := strings.Split(tableColumn.Name, "+") + var values []string + for _, name := range names { + values = append(values, result[strings.Trim(name, " ")]) + } + value = strings.Join(values, " ") + } else { + value = result[tableColumn.Name] + } + syncer.setUserByKeyValue(originalUser, tableColumn.CasdoorName, value) } if syncer.Type == "Keycloak" { diff --git a/web/src/Setting.js b/web/src/Setting.js index 1f108a4b..8d8965eb 100644 --- a/web/src/Setting.js +++ b/web/src/Setting.js @@ -836,7 +836,7 @@ export function getSyncerTableColumns(syncer) { ] }, { - "name":"USERNAME", + "name":"LAST_NAME+FIRST_NAME", "type":"string", "casdoorName":"DisplayName", "isHashed":true,