Linger.Ldap.Novell
1.4.2
There is a newer prerelease version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Linger.Ldap.Novell --version 1.4.2
NuGet\Install-Package Linger.Ldap.Novell -Version 1.4.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="Linger.Ldap.Novell" Version="1.4.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Linger.Ldap.Novell" Version="1.4.2" />
<PackageReference Include="Linger.Ldap.Novell" />
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 Linger.Ldap.Novell --version 1.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Linger.Ldap.Novell, 1.4.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 Linger.Ldap.Novell@1.4.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=Linger.Ldap.Novell&version=1.4.2
#tool nuget:?package=Linger.Ldap.Novell&version=1.4.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Linger.Ldap.Novell
A cross-platform LDAP client implementation based on Novell.Directory.Ldap.
Features
- Cross-platform LDAP access (Windows/Linux/macOS)
- Async user authentication and lookup APIs
- LDAPS support via
LdapConfig.Security - Configurable
SearchFilterforFindUserAsyncandGetUsersAsync - Cross-provider advanced query via
ILdap.SearchUsersByFilterAsync - Optional
Attributesprojection to limit returned fields - Built-in LDAP filter value escaping for safer search input
Supported Frameworks
- .NET 10.0
- .NET 9.0
- .NET 8.0
Installation
dotnet add package Linger.Ldap.Novell
Quick Start
using Linger.Ldap.Contracts;
using Linger.Ldap.Novell;
var config = new LdapConfig
{
Url = "ldap.example.com",
Domain = "example",
SearchBase = "DC=example,DC=com",
SearchFilter = "(&(objectClass=person)(|(uid={0})(sAMAccountName={0})(mail={0})))",
Security = true,
Credentials = new LdapCredentials
{
BindDn = "serviceAccount",
BindCredentials = "SecurePassword123!"
},
Attributes =
[
"displayName",
"sAMAccountName",
"mail",
"department",
"memberOf"
]
};
using var ldap = new Ldap(config);
Usage
Validate User Credentials
var (isValid, userInfo) = await ldap.ValidateUserAsync("alice", "Password123!");
if (isValid && userInfo is not null)
{
Console.WriteLine($"DisplayName: {userInfo.DisplayName}");
Console.WriteLine($"Email: {userInfo.Email}");
}
Find a Single User
var user = await ldap.FindUserAsync("alice");
if (user is not null)
{
Console.WriteLine($"SamAccountName: {user.SamAccountName}");
Console.WriteLine($"DN: {user.Dn}");
}
Search Users
var users = await ldap.GetUsersAsync("alice");
foreach (var item in users)
{
Console.WriteLine($"{item.DisplayName} ({item.Email})");
}
Search in a Specific OU with Custom Bind Credentials
var customCreds = new LdapCredentials
{
BindDn = "readonly.user",
BindCredentials = "ReadonlyPassword123!"
};
var usersInOu = await ldap.GetUsersAsync(
"alice",
ldapCredentials: customCreds,
searchBase: "OU=Sales,DC=example,DC=com");
Advanced Filter Search (Cross-Provider)
ILdap ldapContract = ldap;
var users = await ldapContract.SearchUsersByFilterAsync(
"(&(objectClass=person)(department=IT)(mail=*))",
searchBase: "DC=example,DC=com");
Notes
Urlis required for Novell provider (no automatic domain controller discovery).- When
Security = true, the client uses SSL and connects with default LDAPS port (636). SearchFilteris used by bothFindUserAsyncandGetUsersAsync; using{0}placeholder is recommended.SearchUsersByFilterAsyncprovides provider-agnostic advanced raw-filter queries.- If
SearchFilterformat is invalid, the implementation falls back to a default user filter. - Input value in user search is escaped before building LDAP filter to reduce malformed/injection risk.
- Bind username normalization supports existing
domain\\user, UPN (user@domain), and full DN forms. Attributescan be used to reduce payload and improve query performance.
Key User Properties (AdUserInfo)
DisplayName,SamAccountName,Upn,DnEmail,TelephoneNumber,Mobile,Department,TitleCompany,Manager,WhenCreated,Status,PwdLastSetMemberOf,ProfilePath,HomeDirectory,ExtensionAttribute1
Dependencies
- Novell.Directory.Ldap.NETStandard
- Linger.Ldap.Contracts
Related Packages
- Linger.Ldap.Contracts: core LDAP interfaces and data models
- Linger.Ldap.ActiveDirectory: Active Directory optimized implementation
| 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
- Linger.Ldap.Contracts (>= 1.4.2)
- Linger.Utils (>= 1.4.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
-
net8.0
- Linger.Ldap.Contracts (>= 1.4.2)
- Linger.Utils (>= 1.4.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
-
net9.0
- Linger.Ldap.Contracts (>= 1.4.2)
- Linger.Utils (>= 1.4.2)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 10.0.8)
- Novell.Directory.Ldap.NETStandard (>= 4.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.4.4-preview | 90 | 6/16/2026 |
| 1.4.3-preview | 91 | 6/15/2026 |
| 1.4.2 | 108 | 5/20/2026 |
| 1.4.1-preview | 97 | 5/12/2026 |
| 1.4.0 | 95 | 5/6/2026 |
| 1.3.3-preview | 84 | 5/5/2026 |
| 1.3.2-preview | 101 | 4/29/2026 |
| 1.3.1-preview | 91 | 4/28/2026 |
| 1.3.0-preview | 98 | 4/27/2026 |
| 1.2.0-preview | 107 | 3/29/2026 |
| 1.1.0 | 119 | 2/4/2026 |
| 1.0.3-preview | 133 | 1/9/2026 |
| 1.0.2-preview | 125 | 1/8/2026 |
| 1.0.0 | 326 | 11/12/2025 |
| 1.0.0-preview2 | 180 | 11/6/2025 |
| 1.0.0-preview1 | 189 | 11/5/2025 |
| 0.9.9 | 168 | 10/16/2025 |
| 0.9.8 | 172 | 10/14/2025 |
| 0.9.7-preview | 166 | 10/13/2025 |
| 0.9.6-preview | 153 | 10/12/2025 |
Loading failed