diff options
| author | konstpic <156318483+konstpic@users.noreply.github.com> | 2025-09-28 22:00:16 +0300 |
|---|---|---|
| committer | mhsanaei <ho3ein.sanaei@gmail.com> | 2025-09-28 22:04:54 +0300 |
| commit | 28a17a80ec0c4a0f82e8acfca351651d762b3ec9 (patch) | |
| tree | 7902b7b4cba04bce816ad17c9490f7228574a096 /web/assets/js | |
| parent | 30565833889171afe5c934f97bc0e767534e8310 (diff) | |
feat: add ldap component (#3568)
* add ldap component
* fix: fix russian comments, tls cert verify default true
* feat: remove replaces go mod for local dev
Diffstat (limited to 'web/assets/js')
| -rw-r--r-- | web/assets/js/model/setting.js | 22 | ||||
| -rw-r--r-- | web/assets/js/util/index.js | 24 |
2 files changed, 29 insertions, 17 deletions
diff --git a/web/assets/js/model/setting.js b/web/assets/js/model/setting.js index daf03799..53ffae1a 100644 --- a/web/assets/js/model/setting.js +++ b/web/assets/js/model/setting.js @@ -50,6 +50,28 @@ class AllSetting { this.timeLocation = "Local"; + // LDAP settings + this.ldapEnable = false; + this.ldapHost = ""; + this.ldapPort = 389; + this.ldapUseTLS = false; + this.ldapBindDN = ""; + this.ldapPassword = ""; + this.ldapBaseDN = ""; + this.ldapUserFilter = "(objectClass=person)"; + this.ldapUserAttr = "mail"; + this.ldapVlessField = "vless_enabled"; + this.ldapSyncCron = "@every 1m"; + this.ldapFlagField = ""; + this.ldapTruthyValues = "true,1,yes,on"; + this.ldapInvertFlag = false; + this.ldapInboundTags = ""; + this.ldapAutoCreate = false; + this.ldapAutoDelete = false; + this.ldapDefaultTotalGB = 0; + this.ldapDefaultExpiryDays = 0; + this.ldapDefaultLimitIP = 0; + if (data == null) { return } diff --git a/web/assets/js/util/index.js b/web/assets/js/util/index.js index bb47f538..902974f0 100644 --- a/web/assets/js/util/index.js +++ b/web/assets/js/util/index.js @@ -316,23 +316,13 @@ class ObjectUtil { } static equals(a, b) { - for (const key in a) { - if (!a.hasOwnProperty(key)) { - continue; - } - if (!b.hasOwnProperty(key)) { - return false; - } else if (a[key] !== b[key]) { - return false; - } - } - for (const key in b) { - if (!b.hasOwnProperty(key)) { - continue; - } - if (!a.hasOwnProperty(key)) { - return false; - } + // shallow, symmetric comparison so newly added fields also affect equality + const aKeys = Object.keys(a); + const bKeys = Object.keys(b); + if (aKeys.length !== bKeys.length) return false; + for (const key of aKeys) { + if (!Object.prototype.hasOwnProperty.call(b, key)) return false; + if (a[key] !== b[key]) return false; } return true; } |
