SplatDev.Umbraco.Authorization.Ldap
2.0.5
dotnet add package SplatDev.Umbraco.Authorization.Ldap --version 2.0.5
NuGet\Install-Package SplatDev.Umbraco.Authorization.Ldap -Version 2.0.5
<PackageReference Include="SplatDev.Umbraco.Authorization.Ldap" Version="2.0.5" />
<PackageVersion Include="SplatDev.Umbraco.Authorization.Ldap" Version="2.0.5" />
<PackageReference Include="SplatDev.Umbraco.Authorization.Ldap" />
paket add SplatDev.Umbraco.Authorization.Ldap --version 2.0.5
#r "nuget: SplatDev.Umbraco.Authorization.Ldap, 2.0.5"
#:package SplatDev.Umbraco.Authorization.Ldap@2.0.5
#addin nuget:?package=SplatDev.Umbraco.Authorization.Ldap&version=2.0.5
#tool nuget:?package=SplatDev.Umbraco.Authorization.Ldap&version=2.0.5
Umbraco.Community.AzureSSO
Add Azure AD SSO to Umbraco v10-11 sites. This will allow you to automatically create Umbraco user accounts for users in your AD. This will then associate the Umbraco users with groups based on their AD group, and the configuration below.
First you, or an Azure AD administration will need to create an App Registration in the Azure Portal which will be used to authenticate the site against Azure AD. Follow these instructions to setup the new App Registration
To install
dotnet add package Umbraco.Community.AzureSSO
In startup.cs under ConfigureServices add:
.AddMicrosoftAccountAuthentication()
In the services.AddUmbraco bindings
For example:
var builder = services.AddUmbraco(_env, _config)
.AddBackOffice()
.AddWebsite()
.AddComposers()
.AddMicrosoftAccountAuthentication()
.AddAzureBlobMediaFileSystem();
To configure add the following section to the root of your appsettings.json file and customise as appropriate
"AzureSSO": {
"Credentials": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "<domain>",
"TenantId": "<tenantId>",
"ClientId": "<clientId>",
"CallbackPath": "/umbraco-microsoft-signin/",
"SignedOutCallbackPath ": "/umbraco-microsoft-signout/",
"ClientSecret": "<clientSecret>"
},
"DisplayName": "Azure AD",
"DenyLocalLogin": true,
"AutoRedirectLoginToExternalProvider": true,
"TokenCacheType": "InMemory",
"GroupBindings": {
"<AD group>": "<umbraco group>",
"<another AD group>": "<umbraco group>"
},
"SetGroupsOnLogin": true,
"DefaultGroups": [
"editor"
],
"Icon": "fa fa-lock",
"ButtonStyle": "btn-microsoft",
},
You'll need to configure these settings based on the values in Azure:
| Setting | Description |
|---|---|
| Domain | The value in Primary domain in the Azure Active Directory Overview |
| TenantId | The value in Directory (tenant) ID on the app registration Overview |
| ClientId | The value in Application (Client) ID on the app registration Overview |
| ClientSecret | The client secret created for the app registration |
You can also customise the configuration by setting these settings:
| Setting | Description |
|---|---|
| DisplayName | The display name for use on the login button |
| Icon | The class name for the icon to use |
| ButtonStyle | The class name for the button style |
| AutoRedirectLoginToExternalProvider | Automatically redirect to the external login provider |
| DenyLocalLogin | Allow users to login via Umbraco's standard login |
| GroupBindings | The bindings for AD group to Umbraco group |
| SetGroupsOnLogin | Whether or not to reset the users assigned groups on each login |
| TokenCacheType | Token Cache Type to use: InMemory, Session, Distributed (defaults to InMemory) |
| DefaultGroups | The groups to assign to users regardless of any AD groups assigned (defaults to none) |
ButtonStyle
The standard set is shown at https://lipis.github.io/bootstrap-social/
Group Bindings
To bind these you'll need to specify the active directory group and then the matching Umbraco group.
For example we use: "GIBE\Producers" : "editors" to bind everyone in the GIBE\Producers group to the Umbraco editors group.
Beware these will be reset on each login, so changing groups in umbraco will only take effect until the user next logs in. If a user is removed from an AD group they'll automatically be removed from the matching Umbraco group on next login.
Alternate Group Bindings using Group Id
If you are having problems with NET BIOS group names, you can set the groups claim in the App Registration to use Group Id rather than NetBIOSDomain\sAMAccountName

You can now use the guid format for the Group Id like: "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx": "admin", "44a38651-xxxx-4c92-b1b6-51cf26ff9bab": "editor"
Changelog
2.0.5 — 2026-08-24
Removes a dashboard screenshot that showed an error toast. It was captured against a site where this plugin's API was unreachable, so it advertised a broken dashboard. No screenshot is better than a misleading one; a replacement will be taken against a working install.
2.0.4 — 2026-08-24
Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.
2.0.2 — 2026-08-22
- This package's README now reaches NuGet. The publish workflow discovered packages by a list of name patterns, and this one matched none of them, so it was never built or pushed by CI — the version on NuGet was placed there by hand before the README was wired up, and no release could refresh it. Discovery is now by prefix, so the package ships whenever the repo is tagged.
| 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 was computed. 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. |
-
net10.0
- Microsoft.AspNetCore.Authentication.Negotiate (>= 10.0.0)
- System.DirectoryServices (>= 10.0.5)
- System.DirectoryServices.AccountManagement (>= 10.0.5)
- System.DirectoryServices.Protocols (>= 10.0.5)
- Umbraco.Cms.Api.Management (>= 17.3.4)
- Umbraco.Cms.Web.Website (>= 17.3.4)
-
net8.0
- Microsoft.AspNetCore.Authentication.Negotiate (>= 8.0.13)
- System.DirectoryServices (>= 8.0.1)
- System.DirectoryServices.AccountManagement (>= 8.0.1)
- System.DirectoryServices.Protocols (>= 8.0.1)
- Umbraco.Cms.Web.BackOffice (>= 13.12.0)
- Umbraco.Cms.Web.Website (>= 13.12.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 |
|---|---|---|
| 2.0.5 | 51 | 8/24/2026 |