feat(DirectorySearchService): Validierungs-Methode für Anmeldeinformationen hinzugefügt

- Neue Methode zur Überprüfung von Anmeldeinformationen in DirectorySearchService hinzugefügt.
- Anpassung der Eigenschaften von Suchergebnissen ermöglicht.
This commit is contained in:
Developer 02
2024-03-22 14:20:20 +01:00
parent 9644d1653c
commit fa66e7ba0d
79 changed files with 694 additions and 158 deletions

View File

@@ -4,8 +4,22 @@ namespace DigitalData.Core.Contracts.Application
{
public interface IDirectorySearchService : IServiceBase
{
IServiceResult<IEnumerable<ResultPropertyCollection>> FindAll(DirectoryEntry searchRoot, string filter, SearchScope searchScope = SearchScope.Subtree, int sizeLimit = 5000);
public string ServerName { get; }
IServiceResult<IEnumerable<ResultPropertyCollection>> FindAllByUserCache(string username, string filter, SearchScope searchScope = SearchScope.Subtree, int sizeLimit = 5000);
public string Root { get; }
string SearchRootPath { get; }
Dictionary<string, string> CustomSearchFilters { get; }
bool ValidateCredentials(string dirEntryUsername, string dirEntryPassword);
IServiceResult<IEnumerable<ResultPropertyCollection>> FindAll(DirectoryEntry searchRoot, string filter, SearchScope searchScope = SearchScope.Subtree, int sizeLimit = 5000, params string[] properties);
IServiceResult<IEnumerable<ResultPropertyCollection>> FindAllByUserCache(string username, string filter, SearchScope searchScope = SearchScope.Subtree, int sizeLimit = 5000, params string[] properties);
void SetSearchRootCache(string username, string password);
DirectoryEntry? GetSearchRootCache(string username);
}
}
}

View File

@@ -1,17 +0,0 @@
using System.DirectoryServices;
using System.DirectoryServices.AccountManagement;
namespace DigitalData.Core.Contracts.Application
{
public interface IDirectoryService : IServiceBase
{
IServiceResult<IEnumerable<ResultPropertyCollection>> ReadAllGroupAsCollection();
IServiceResult<IEnumerable<ResultPropertyCollection>> ReadAllGroupAsCollection(string serverAddress, string username, string password);
IServiceResult<IEnumerable<Dictionary<string, object>>> ReadGroupByPropertyName(string propName);
IServiceResult<IEnumerable<UserPrincipalDto>> ReadUserByGroup<UserPrincipalDto>(string groupIdentityValue, IdentityType groupIdentityType = IdentityType.Name, bool recursive = true);
}
}