Wir müssen auf LDAPS (LDAP mit SSL) umsteigen. Ich benötige jetzt eine Bibliothek oder eine DLL eines Drittanbieters, um PrincipalContext, GroupPrincipal und PrincipalSearcher verwenden zu können. Das Problem ist: Bei LDAPS haben Sie keinen PrincipalContext, der unser Startpunkt für die Suche ist, sondern eine LdapConnection. Hat jemand eine Idee, wie man dieses Problem lösen kann, anstatt die gesamte Klasse, die wir für LDAP basierend auf PrincipalContext, GroupPrincipal und PrincipalSearcher erstellt haben, neu zu schreiben und zu testen?
Aktuelles Codebeispiel für LDAP:
using (PrincipalContext ctx = new PrincipalContext(ContextType.Domain, Domain))
{
using (GroupPrincipal qbeGroup = new GroupPrincipal(ctx))
{
using (PrincipalSearcher srch = new PrincipalSearcher(qbeGroup))
{
Logger.Log("Suche alle Gruppen", Thread.CurrentThread.ManagedThreadId, Logger.LogLevel.Info);
foreach (Principal found in srch.FindAll())
{
if (found is GroupPrincipal)
{
GroupPrincipal group = found as GroupPrincipal;
if (group.Guid.HasValue)
{
if (!groups.Any(x => x.Group.Guid == group.Guid.Value))
{
AddGroupsRecursiv(group, ref groups);
}
}
}
}
}
}
}