diff --git a/src/Core/Models/LdapConfiguration.cs b/src/Core/Models/LdapConfiguration.cs index 108acccd..7fb509a3 100644 --- a/src/Core/Models/LdapConfiguration.cs +++ b/src/Core/Models/LdapConfiguration.cs @@ -39,6 +39,12 @@ namespace Bit.Core.Models return GetDirectoryEntry(path); } + public DirectoryEntry GetBasePathDirectoryEntry() + { + var path = Path.Substring(Path.IndexOf("dc=", StringComparison.InvariantCultureIgnoreCase)); + return GetDirectoryEntry(path); + } + public DirectoryEntry GetDirectoryEntry(string path = null) { if(Password == null && string.IsNullOrWhiteSpace(Username)) diff --git a/src/Core/Services/LdapDirectoryService.cs b/src/Core/Services/LdapDirectoryService.cs index 6daae046..96f9458e 100644 --- a/src/Core/Services/LdapDirectoryService.cs +++ b/src/Core/Services/LdapDirectoryService.cs @@ -259,7 +259,7 @@ namespace Bit.Core.Services // Deleted users if(SettingsService.Instance.Server.Type == DirectoryType.ActiveDirectory) { - var deletedEntry = SettingsService.Instance.Server.Ldap.GetDirectoryEntry(); + var deletedEntry = SettingsService.Instance.Server.Ldap.GetBasePathDirectoryEntry(); var deletedFilter = BuildBaseFilter(SettingsService.Instance.Sync.Ldap.UserObjectClass, "(isDeleted=TRUE)"); deletedFilter = BuildRevisionFilter(deletedFilter, force, SettingsService.Instance.LastUserSyncDate);