mirror of
https://git.proxmox.com/git/proxmox-widget-toolkit
synced 2025-05-29 19:25:37 +00:00
window: add Active Directory auth panel
As AD realms are mostly just LDAP, reuse the LDAP panel and just show/hide some elements based on the type. Signed-off-by: Christoph Heiss <c.heiss@proxmox.com>
This commit is contained in:
parent
f60fe4ad99
commit
4aff870f6c
@ -95,6 +95,7 @@ JSSRC= \
|
|||||||
window/AuthEditBase.js \
|
window/AuthEditBase.js \
|
||||||
window/AuthEditOpenId.js \
|
window/AuthEditOpenId.js \
|
||||||
window/AuthEditLDAP.js \
|
window/AuthEditLDAP.js \
|
||||||
|
window/AuthEditAD.js \
|
||||||
window/TfaWindow.js \
|
window/TfaWindow.js \
|
||||||
window/AddTfaRecovery.js \
|
window/AddTfaRecovery.js \
|
||||||
window/AddTotp.js \
|
window/AddTotp.js \
|
||||||
|
@ -29,6 +29,16 @@ Ext.define('Proxmox.Schema', { // a singleton
|
|||||||
pwchange: false,
|
pwchange: false,
|
||||||
sync: true,
|
sync: true,
|
||||||
},
|
},
|
||||||
|
ad: {
|
||||||
|
name: gettext('Active Directory Server'),
|
||||||
|
ipanel: 'pmxAuthADPanel',
|
||||||
|
syncipanel: 'pmxAuthADSyncPanel',
|
||||||
|
add: true,
|
||||||
|
edit: true,
|
||||||
|
tfa: true,
|
||||||
|
pwchange: false,
|
||||||
|
sync: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
// to add or change existing for product specific ones
|
// to add or change existing for product specific ones
|
||||||
overrideAuthDomains: function(extra) {
|
overrideAuthDomains: function(extra) {
|
||||||
|
14
src/window/AuthEditAD.js
Normal file
14
src/window/AuthEditAD.js
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Ext.define('Proxmox.panel.ADInputPanel', {
|
||||||
|
extend: 'Proxmox.panel.LDAPInputPanel',
|
||||||
|
xtype: 'pmxAuthADPanel',
|
||||||
|
|
||||||
|
type: 'ad',
|
||||||
|
onlineHelp: 'user-realms-ad',
|
||||||
|
});
|
||||||
|
|
||||||
|
Ext.define('Proxmox.panel.ADSyncInputPanel', {
|
||||||
|
extend: 'Proxmox.panel.LDAPSyncInputPanel',
|
||||||
|
xtype: 'pmxAuthADSyncPanel',
|
||||||
|
|
||||||
|
type: 'ad',
|
||||||
|
});
|
@ -64,6 +64,12 @@ Ext.define('Proxmox.panel.LDAPInputPanel', {
|
|||||||
return values;
|
return values;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
cbindData: function(config) {
|
||||||
|
return {
|
||||||
|
isLdap: this.type === 'ldap',
|
||||||
|
isAd: this.type === 'ad',
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
column1: [
|
column1: [
|
||||||
{
|
{
|
||||||
@ -80,15 +86,21 @@ Ext.define('Proxmox.panel.LDAPInputPanel', {
|
|||||||
xtype: 'proxmoxtextfield',
|
xtype: 'proxmoxtextfield',
|
||||||
fieldLabel: gettext('Base Domain Name'),
|
fieldLabel: gettext('Base Domain Name'),
|
||||||
name: 'base-dn',
|
name: 'base-dn',
|
||||||
allowBlank: false,
|
|
||||||
emptyText: 'cn=Users,dc=company,dc=net',
|
emptyText: 'cn=Users,dc=company,dc=net',
|
||||||
|
cbind: {
|
||||||
|
hidden: '{!isLdap}',
|
||||||
|
allowBlank: '{!isLdap}',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxtextfield',
|
xtype: 'proxmoxtextfield',
|
||||||
fieldLabel: gettext('User Attribute Name'),
|
fieldLabel: gettext('User Attribute Name'),
|
||||||
name: 'user-attr',
|
name: 'user-attr',
|
||||||
allowBlank: false,
|
|
||||||
emptyText: 'uid / sAMAccountName',
|
emptyText: 'uid / sAMAccountName',
|
||||||
|
cbind: {
|
||||||
|
hidden: '{!isLdap}',
|
||||||
|
allowBlank: '{!isLdap}',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'proxmoxcheckbox',
|
xtype: 'proxmoxcheckbox',
|
||||||
@ -103,7 +115,14 @@ Ext.define('Proxmox.panel.LDAPInputPanel', {
|
|||||||
fieldLabel: gettext('Bind Domain Name'),
|
fieldLabel: gettext('Bind Domain Name'),
|
||||||
name: 'bind-dn',
|
name: 'bind-dn',
|
||||||
allowBlank: false,
|
allowBlank: false,
|
||||||
emptyText: 'cn=user,dc=company,dc=net',
|
cbind: {
|
||||||
|
emptyText: get => get('isAd') ? 'user@company.net' : 'cn=user,dc=company,dc=net',
|
||||||
|
autoEl: get => get('isAd') ? {
|
||||||
|
tag: 'div',
|
||||||
|
'data-qtip':
|
||||||
|
gettext('LDAP DN syntax can be used as well, e.g. cn=user,dc=company,dc=net'),
|
||||||
|
} : {},
|
||||||
|
},
|
||||||
bind: {
|
bind: {
|
||||||
disabled: "{anonymous_search}",
|
disabled: "{anonymous_search}",
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user