redb.Route.Ldap
2.0.2
Prefix Reserved
dotnet add package redb.Route.Ldap --version 2.0.2
NuGet\Install-Package redb.Route.Ldap -Version 2.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="redb.Route.Ldap" Version="2.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="redb.Route.Ldap" Version="2.0.2" />
<PackageReference Include="redb.Route.Ldap" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add redb.Route.Ldap --version 2.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: redb.Route.Ldap, 2.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package redb.Route.Ldap@2.0.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=redb.Route.Ldap&version=2.0.2
#tool nuget:?package=redb.Route.Ldap&version=2.0.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
redb.Route.Ldap
LDAP / Active Directory connector for redb.Route. Search, CRUD, authentication, and change tracking — all directory operations as endpoints via Novell.Directory.Ldap.NETStandard.
Installation
dotnet add package redb.Route.Ldap
Usage
URI Format
ldap:OPERATION:baseDn?server=host&port=389&bindDn=cn=admin,dc=example,dc=com&bindPassword=secret
Fluent DSL
using redb.Route.Ldap;
// Search users
From(Ldap.Search("ou=users,dc=example,dc=com")
.Server("ldap.example.com")
.BindDn("cn=admin,dc=example,dc=com")
.BindPassword("secret")
.Filter("(objectClass=inetOrgPerson)")
.Scope(LdapSearchScope.Subtree)
.Attributes("cn", "mail", "uid")
.PageSize(500))
.Log("Found: ${header['redbLdap.ResultCount']} entries")
.To("direct://process");
// Watch for changes (consumer — polls for modifications)
From(Ldap.Watch("ou=users,dc=example,dc=com")
.Server("ldap.example.com")
.BindDn("cn=admin,dc=example,dc=com")
.BindPassword("secret")
.ChangeTracking(LdapChangeTrackingMode.ModifyTimestamp)
.PollInterval(5000)
.InitialLoad())
.Log("Changed entry: ${body}")
.To("direct://sync");
// Add entry
From("direct://create-user")
.To(Ldap.Add("ou=users,dc=example,dc=com")
.Server("ldap.example.com")
.BindDn("cn=admin,dc=example,dc=com")
.BindPassword("secret"));
// Modify entry
From("direct://update-user")
.To(Ldap.Modify("cn=alice,ou=users,dc=example,dc=com")
.Server("ldap.example.com")
.BindDn("cn=admin,dc=example,dc=com")
.BindPassword("secret"));
// Bind (authentication check)
From("direct://authenticate")
.To(Ldap.Bind("dc=example,dc=com")
.Server("ldap.example.com"));
Fluent Builder API
| Category | Methods |
|---|---|
| Operations | Ldap.Search(), Ldap.Compare(), Ldap.Add(), Ldap.Modify(), Ldap.Delete(), Ldap.Rename(), Ldap.Bind(), Ldap.Watch() |
| Connection | .Server(), .Port(), .Ssl(), .StartTls(), .ConnectionFactory(), .ConnectTimeout(), .OperationTimeout() |
| Auth | .BindDn(), .BindPassword() |
| Search | .Filter(), .Scope(), .Attributes(), .PageSize(), .SizeLimit(), .TimeLimit() |
| Consumer | .PollInterval(), .ChangeTracking(), .InitialLoad() |
| Protocol | .ProtocolVersion(), .Referrals() |
| Pool | .MaxConnections() |
| TLS | .SkipCertificateValidation(), .ClientCert() |
Most builder methods accept both constant values and
IExpressionfor runtime resolution via the expression engine.
Exchange Headers
| Header | Description |
|---|---|
redbLdap.Operation |
Operation type (Search, Add, etc.) |
redbLdap.BaseDn |
Base DN used in the operation |
redbLdap.Filter |
LDAP filter applied |
redbLdap.Scope |
Search scope (Base, OneLevel, Subtree) |
redbLdap.ResultCount |
Number of entries returned |
redbLdap.SearchTime |
Search duration in milliseconds |
redbLdap.Server |
Target LDAP server |
redbLdap.Port |
Target port |
redbLdap.Ssl |
Whether SSL/TLS was used |
redbLdap.ChangeType |
Change type for Watch consumer |
Change Tracking Modes
| Mode | Description |
|---|---|
ModifyTimestamp |
Polls using modifyTimestamp attribute (standard LDAP) |
Usn |
Polls using uSNChanged attribute (Active Directory) |
Persistent |
Persistent search control (if supported by server) |
Docker (for testing)
services:
openldap:
image: osixia/openldap:1.5.0
ports:
- "389:389"
- "636:636"
environment:
LDAP_ORGANISATION: "redb"
LDAP_DOMAIN: "redb.test"
LDAP_ADMIN_PASSWORD: "admin"
Part of
redb.Route — ESB & EIP Framework for .NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
- redb.Route (>= 2.0.2)
-
net8.0
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
- redb.Route (>= 2.0.2)
-
net9.0
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
- redb.Route (>= 2.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.