我想使用Boilerplate的免费启动模板版本在我的.net Core应用程序中通过Active Directory集成身份验证。我按照documentation中的说明进行操作,例如安装Abp.Zero.Ldap
包,创建LdapAuthenticationSource
类,并注入依赖项,如:
[DependsOn(typeof(AbpZeroLdapModule))]
public class MyApplicationCoreModule : AbpModule
{
public override void PreInitialize()
{
Configuration.Modules.ZeroLdap().Enable(typeof (MyLdapAuthenticationSource));
}
...
}
我是否需要使用实现ILdapSettings
接口的类来定义任何自定义设置?或者创建引用this folder的任何类或文件?
答案 0 :(得分:0)
说明可能不起作用,因为.NET Core的LDAP / AD auth扩展尚未实现。
跟踪此功能:https://github.com/aspnetboilerplate/aspnetboilerplate/issues/2755
通过安装Abp.Zero.Ldap
软件包,您已经引用该模块(已移动here)。
如LDAP/Active Directory > Settings中所述:
LdapAuthenticationSource期望 ILdapSettings 作为构造函数参数。此接口用于获取LDAP设置,如域,用户名和密码,以连接到Active Directory。默认实现( LdapSettings 类)从设置管理器获取这些设置。
如果您使用设置管理器,那么没问题。您可以使用setting manager API更改LDAP设置。如果需要,可以将初始/种子数据添加到数据库以默认启用LDAP身份验证。
因此,您不需要创建实现ILdapSettings
的类。使用设置管理器的好处是它将设置存储在数据库中。自定义类用于从其他地方获取它或对其进行硬编码(如果您只是想尝试,则很有用,但在生产/ git提交中是一个很大的禁忌)。
首先,您可以使用DefaultSettingsCreator在LdapSettingNames中为您的主机添加种子数据:
public void Create()
{
// ...
// LDAP
AddSettingIfNotExists(LdapSettingNames.IsEnabled, "false");
// AddSettingIfNotExists(LdapSettingNames...
}