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);
}
}

View File

@@ -8,6 +8,7 @@
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Caching.Memory" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="7.0.4" />
<PackageReference Include="System.DirectoryServices" Version="7.0.1" />
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="7.0.1" />
</ItemGroup>

View File

@@ -9,6 +9,7 @@
"DigitalData.Core.Contracts/1.0.0": {
"dependencies": {
"Microsoft.Extensions.Caching.Memory": "7.0.0",
"Microsoft.Extensions.Configuration.Binder": "7.0.4",
"System.DirectoryServices": "7.0.1",
"System.DirectoryServices.AccountManagement": "7.0.1"
},
@@ -42,6 +43,28 @@
}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.22.51805"
}
}
},
"Microsoft.Extensions.Configuration.Binder/7.0.4": {
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll": {
"assemblyVersion": "7.0.0.0",
"fileVersion": "7.0.423.11508"
}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"runtime": {
"lib/net7.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
@@ -284,6 +307,20 @@
"path": "microsoft.extensions.caching.memory/7.0.0",
"hashPath": "microsoft.extensions.caching.memory.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,
"sha512": "sha512-f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"hashPath": "microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512"
},
"Microsoft.Extensions.Configuration.Binder/7.0.4": {
"type": "package",
"serviceable": true,
"sha512": "sha512-8+XPvJnHZsYgHOQlcMuQe7QNF5KdVKHH1F/wW3nd8/u81Gk/XFAYMDP0Lpz18h7/AM95M662vvqMorcYxCBB4w==",
"path": "microsoft.extensions.configuration.binder/7.0.4",
"hashPath": "microsoft.extensions.configuration.binder.7.0.4.nupkg.sha512"
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"type": "package",
"serviceable": true,

View File

@@ -1 +1 @@
88cb4040e5dbd677ad534313590b1f1054b1298e
f4387e0fddd1173993a6db1f0ae947a265e040d2

View File

@@ -55,6 +55,10 @@
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[7.0.4, )"
},
"System.DirectoryServices": {
"target": "Package",
"version": "[7.0.1, )"

View File

@@ -44,6 +44,44 @@
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Primitives": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.Configuration.Binder/7.0.4": {
"type": "package",
"dependencies": {
"Microsoft.Extensions.Configuration.Abstractions": "7.0.0"
},
"compile": {
"lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll": {
"related": ".xml"
}
},
"runtime": {
"lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll": {
"related": ".xml"
}
},
"build": {
"buildTransitive/net6.0/_._": {}
}
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"type": "package",
"compile": {
@@ -408,6 +446,60 @@
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Configuration.Abstractions/7.0.0": {
"sha512": "f34u2eaqIjNO9YLHBz8rozVZ+TcFiFs0F3r7nUJd7FRkVSxk8u4OpoK226mi49MwexHOR2ibP9MFvRUaLilcQQ==",
"type": "package",
"path": "microsoft.extensions.configuration.abstractions/7.0.0",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Abstractions.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Abstractions.targets",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net462/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Abstractions.xml",
"microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"microsoft.extensions.configuration.abstractions.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.Configuration.Binder/7.0.4": {
"sha512": "8+XPvJnHZsYgHOQlcMuQe7QNF5KdVKHH1F/wW3nd8/u81Gk/XFAYMDP0Lpz18h7/AM95M662vvqMorcYxCBB4w==",
"type": "package",
"path": "microsoft.extensions.configuration.binder/7.0.4",
"files": [
".nupkg.metadata",
".signature.p7s",
"Icon.png",
"LICENSE.TXT",
"THIRD-PARTY-NOTICES.TXT",
"buildTransitive/net461/Microsoft.Extensions.Configuration.Binder.targets",
"buildTransitive/net462/_._",
"buildTransitive/net6.0/_._",
"buildTransitive/netcoreapp2.0/Microsoft.Extensions.Configuration.Binder.targets",
"lib/net462/Microsoft.Extensions.Configuration.Binder.dll",
"lib/net462/Microsoft.Extensions.Configuration.Binder.xml",
"lib/net6.0/Microsoft.Extensions.Configuration.Binder.dll",
"lib/net6.0/Microsoft.Extensions.Configuration.Binder.xml",
"lib/net7.0/Microsoft.Extensions.Configuration.Binder.dll",
"lib/net7.0/Microsoft.Extensions.Configuration.Binder.xml",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.dll",
"lib/netstandard2.0/Microsoft.Extensions.Configuration.Binder.xml",
"microsoft.extensions.configuration.binder.7.0.4.nupkg.sha512",
"microsoft.extensions.configuration.binder.nuspec",
"useSharedDesignerContext.txt"
]
},
"Microsoft.Extensions.DependencyInjection.Abstractions/7.0.0": {
"sha512": "h3j/QfmFN4S0w4C2A6X7arXij/M/OVw3uQHSOFxnND4DyAzO1F9eMX7Eti7lU/OkSthEE0WzRsfT/Dmx86jzCw==",
"type": "package",
@@ -874,6 +966,7 @@
"projectFileDependencyGroups": {
"net7.0": [
"Microsoft.Extensions.Caching.Memory >= 7.0.0",
"Microsoft.Extensions.Configuration.Binder >= 7.0.4",
"System.DirectoryServices >= 7.0.1",
"System.DirectoryServices.AccountManagement >= 7.0.1"
]
@@ -935,6 +1028,10 @@
"target": "Package",
"version": "[7.0.0, )"
},
"Microsoft.Extensions.Configuration.Binder": {
"target": "Package",
"version": "[7.0.4, )"
},
"System.DirectoryServices": {
"target": "Package",
"version": "[7.0.1, )"

View File

@@ -1,11 +1,13 @@
{
"version": 2,
"dgSpecHash": "y0XesY12OIMQ6WgP5zto/kK6nOUBaNEsWBTfSX8HCGXA1+93y6Y0Qxsd3MEmsDK/jOU1QAUsO82rlpsZgYItqQ==",
"dgSpecHash": "Bo0GMV4+098EZ6xKCtpEGyIM8bwdVpp3GyRxUsWNYFp7byC9SMrAxFv275vfPARua9vB1UoRbkM+iJ2MO8Tk0Q==",
"success": true,
"projectFilePath": "E:\\TekH\\Visual Studio\\WebCoreModules\\DigitalData.Core.Contracts\\DigitalData.Core.Contracts.csproj",
"expectedPackageFiles": [
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\7.0.0\\microsoft.extensions.caching.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.caching.memory\\7.0.0\\microsoft.extensions.caching.memory.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\7.0.0\\microsoft.extensions.configuration.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.configuration.binder\\7.0.4\\microsoft.extensions.configuration.binder.7.0.4.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\7.0.0\\microsoft.extensions.dependencyinjection.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\7.0.0\\microsoft.extensions.logging.abstractions.7.0.0.nupkg.sha512",
"C:\\Users\\tekh\\.nuget\\packages\\microsoft.extensions.options\\7.0.0\\microsoft.extensions.options.7.0.0.nupkg.sha512",