26 lines
990 B
C#
26 lines
990 B
C#
using DigitalData.Core.DTO;
|
|
using System.DirectoryServices;
|
|
|
|
namespace DigitalData.Core.Abstractions.Application
|
|
{
|
|
public interface IDirectorySearchService
|
|
{
|
|
public string ServerName { get; }
|
|
|
|
public string Root { get; }
|
|
|
|
string SearchRootPath { get; }
|
|
|
|
Dictionary<string, string> CustomSearchFilters { get; }
|
|
|
|
bool ValidateCredentials(string dirEntryUsername, string dirEntryPassword);
|
|
|
|
DataResult<IEnumerable<ResultPropertyCollection>> FindAll(DirectoryEntry searchRoot, string filter, SearchScope searchScope = SearchScope.Subtree, int sizeLimit = 5000, params string[] properties);
|
|
|
|
DataResult<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);
|
|
}
|
|
} |