ASP.NET 样板文件:Active Directory Ldap 身份验证无效的用户名或密码

ASP.NET Boilerplate: Active Directory Ldap Authentication Invalid Username or Password

我已经设置了一个测试解决方案来试验 Ldap 身份验证。

我也遵循了 documentation and looked into this,然后我在核心项目中设置了我的 MyLdapAuthenticationSource 以及包 Abp.Zero.Ldap 并设置了 Configuration.Modules.ZeroLdap().UseUserPrincipalNameAsUserName = true;

当我尝试登录时收到无效的用户名或密码消息。

此外,我设置了一个默认的 .NET 5 Microsoft 解决方案来验证我是否能够直接连接到 Active Directory 并且它按预期工作。

我能够通过更改应用程序和数据库中的 Settings 来解决这个问题,文档中提到了这一点,但没有详细说明如何更改它们。

第一个:

我已经在 EntityFrameworkCore 项目下的种子主机文件夹中的 DefaultSettingsCreator 中定义了一个要添加到数据库的新设置:

AddSettingIfNotExists(LdapSettingNames.IsEnabled, "true", tenantId);

第二个:

我在 Core 项目下的 Configuration 文件夹中的 AppSettingProvider 中定义了一个新的 SettingDefinition:

new SettingDefinition(LdapSettingNames.IsEnabled, "true", scopes: SettingScopes.Application | SettingScopes.Tenant | SettingScopes.User)

希望这对未来的用户有所帮助。