DNNCommunity/DNN.ActiveDirectory
50.3
Weak · 21 September 2026
4.8k
lines of production code
VB.NET
primary language
4
measurements over time
What this system is
This system is a DotNetNuke module that enables Windows Active Directory authentication. It provides user and group synchronization, role management, and configuration settings, all managed through a modular, dependency-injected architecture.
Features
Active Directory authentication provider for DotNetNuke
The release introduces the DotNetNuke Active Directory Authentication provider, enabling users to authenticate against Windows Active Directory. The package includes the necessary assembly, configuration updates to web.config for HTTP and server modules, and UI components including a login control, settings page, and a Windows sign-in page. The provider supports features such as role synchronization, photo synchronization, auto-login, and group-based access control, with configuration managed via the DNN admin interface.
(repo-wide) · high confidence
Added Active Directory authentication enums
Added new enumerations for Active Directory authentication, including AuthenticationMode, AuthenticationStatus, and ObjectClass, which define supported authentication types and user object types within the DotNetNuke framework.
Components/Common · high confidence
Added Active Directory user integration components
Introduced new \ADUserInfo\ and \UserController\ classes in the \Components/Users\ directory to handle user authentication and role assignment via Active Directory. The \ADUserInfo\ class extends \UserInfo\ to store AD-specific properties like distinguished name and SAM account name, while the \UserController\ implements \IUserController\ to manage user retrieval and role assignment from AD groups.
Components/Users · high confidence
Added Windows Authentication module for DotNetNuke
A new HttpModule, AuthenticationModule, has been added to handle Windows-based authentication flows. The module intercepts the AuthenticateRequest event to detect Windows authentication status, manage login/logout states, and redirect users to the appropriate login or logoff pages. It also supports automatic login for specific IP ranges and includes logic to bypass authentication for bots and web services.
HttpModule · high confidence
Added documentation for the DotNetNuke Active Directory module template
New documentation files (Documentation.css and Documentation.html) were added to the Documentation folder, providing setup instructions and configuration steps for the DotNetNuke.Authentication.ActiveDirectory module template, including guidance on project naming, assembly settings, and packaging.
Documentation · high confidence
Added localization resources for Active Directory authentication settings
New .resx files for the Login and Settings user controls have been added to the App\_LocalResources directory. These files provide English text for the login interface and the Active Directory authentication configuration panel, including labels, help text, and button captions for features such as role synchronization, password synchronization, and provider selection.
_App\LocalResources · high confidence
Introduced Active Directory group management components
Added new classes for managing Active Directory groups within the DotNetNuke authentication system. The GroupController class now handles group retrieval operations by delegating to an IAuthenticationProvider, while the GroupInfo class provides a data model for group information, including properties for name, object class, and authentication members.
Components/Groups · high confidence
Introduced ConfigInfo and Configuration classes for Active Directory authentication settings
Added the ConfigInfo class and Configuration class in the Components/Config directory to manage Active Directory authentication settings. The new ConfigInfo class holds all configuration properties (e.g., WindowsAuthentication, SynchronizeRole, Photo sync) and loads them from a settings dictionary. The Configuration class implements the IConfiguration interface, providing a cached retrieval of these settings via the GetConfig method, supporting per-portal configuration for the Active Directory authentication service.
Components/Config · high confidence
Introduced new interfaces for Active Directory authentication components
Added new interface definitions for the Active Directory authentication module, including IAuthenticationController, IAuthenticationObjectBase, IAuthenticationProvider, IConfiguration, IGroupController, and IUserController. These interfaces define the contracts for authentication, configuration, and user/group management, enabling a more modular and testable architecture for the DotNetNuke Active Directory authentication provider.
Components/Interfaces · high confidence
New ADSI configuration and utility interfaces
Added new interface definitions for the Active Directory Service Interfaces (ADSI) provider. The \IConfiguration\ interface introduces methods for resetting configuration, setting security entries, and retrieving configuration information. The \IUtilities\ interface provides helper methods for Active Directory operations, including converting canonical names to NetBIOS names, retrieving group and user entries, and managing domain root entries.
Providers/ADSIProvider/Interfaces · high confidence
Behavioural changes
ADSI provider refactored for dependency injection
The ADSI provider implementation has been refactored to support dependency injection, with classes like ADSIProvider, Domain, Search, and Utilities now accepting their dependencies (such as IConfiguration, IUtilities, and IPortalController) via constructors rather than static or internal state. This change improves testability and modularity, allowing the provider to be instantiated with mock or alternative implementations of its dependencies.
Providers/ADSIProvider · high confidence
Refactored AuthenticationController to use dependency injection
The AuthenticationController class has been refactored to accept its dependencies (such as IPortalController, IUserController, IEventLogger, INavigationManager, and IAuthenticationProvider) via its constructor, replacing the previous instantiation methods. This change improves testability and adheres to the dependency injection pattern.
Components · high confidence
Dependencies
Added .NET 4.8 project configuration and MSBuildTasks dependency
The DotNetNuke.Authentication.ActiveDirectory project has been updated to target .NET Framework 4.8, with the project file (.vbproj) now referencing DotNetNuke and Microsoft.Extensions.DependencyInjection assemblies. Additionally, the MSBuildTasks package (version 1.5.0.235) has been added to the project's dependencies.
(dependencies) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 50 → 50 (+0.3)
- Rubric changed (rubric-2026.08.18 → rubric-2026.09.15) — scores are not directly comparable.
Lenses
- Code Health 85 → 86 (+1.0)
- Architecture 99 → 94 (-4.4)
- Maturity 45 → 46 (+1.9)
- Readiness 30 → 30 (+0.0)
- Security 99 → 99 (+0.0)
Resolved (4)
- Build did not complete in the analyzer
- No exposed public API
- Off-boarding risk: anonymized user #1
- XML-doc coverage: DotNetNuke.Authentication.ActiveDirectory (DotNetNuke.Authentication.ActiveDirectory.vbproj)
New (8)
- Documentation: no installation or build instructions (README.md)
- Documentation: no licence statement (README.md)
- Documentation: no usage examples (README.md)
- Duplicated block (18 lines × 2) (Providers/ADSIProvider/ADSIProvider.vb)
- Duplicated block (5 lines × 2) (Providers/ADSIProvider/Utilities.vb)
- Hotspot: Components/AuthenticationController.vb (Components/AuthenticationController.vb)
- Login.UserName.Get (cognitive 16) (Login.ascx.vb)
- Orphaned files with no living knowledge
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
DNNCommunity/DNN.ActiveDirectory was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 21 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit fdb7573ad7a8eaecd33e79ac4b37096b6e32ac9a — the exact code this score is about.
- Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-28e75b8e3254.