diff --git a/ui/public/locales/en.json b/ui/public/locales/en.json index f57460efa482..977519ccdff8 100644 --- a/ui/public/locales/en.json +++ b/ui/public/locales/en.json @@ -1597,6 +1597,7 @@ "label.limits": "Limits", "label.limits.configure": "Configure limits", "label.link": "Link", +"label.link.account.to.ldap": "Link account to LDAP", "label.link.domain.to.ldap": "Link domain to LDAP", "label.linklocalip": "Link-local/Control IP address", "label.linux": "Linux", diff --git a/ui/src/config/section/account.js b/ui/src/config/section/account.js index 5766fd8a0f92..5a9f8eaf6604 100644 --- a/ui/src/config/section/account.js +++ b/ui/src/config/section/account.js @@ -121,6 +121,31 @@ export default { }, component: shallowRef(defineAsyncComponent(() => import('@/views/iam/AddLdapAccount.vue'))) }, + { + api: 'linkAccountToLdap', + icon: 'LinkOutlined', + label: 'label.link.account.to.ldap', + docHelp: 'adminguide/accounts.html#using-an-ldap-server-for-user-authentication', + dataView: true, + show: (record, store) => { + return store.isLdapEnabled + }, + args: ['type', 'domainid', 'ldapdomain', 'account', 'accounttype', 'roleid', 'admin'], + mapping: { + type: { + options: ['GROUP', 'OU'] + }, + accounttype: { + options: ['0', '2'] + }, + domainid: { + value: (record) => { return record.domainid } + }, + account: { + value: (record) => { return record.name } + } + } + }, { api: 'updateAccount', icon: 'edit-outlined',