Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication LDAP如何在ASP.NET样板文件中工作?_Authentication_Configuration_Active Directory_Ldap_Aspnetboilerplate - Fatal编程技术网

Authentication LDAP如何在ASP.NET样板文件中工作?

Authentication LDAP如何在ASP.NET样板文件中工作?,authentication,configuration,active-directory,ldap,aspnetboilerplate,Authentication,Configuration,Active Directory,Ldap,Aspnetboilerplate,我在文档中没有看到任何关于如何: 连接到LDAP和 根据广告组设置用户访问控制。 LDAP/Active Directory LdapAuthenticationSource是一种外部身份验证的实现,使用户可以使用其LDAP active directory用户名和密码登录 如果我们想使用LDAP身份验证,我们首先将Abp.Zero.LDAP nuget包添加到我们的项目中,通常添加到核心域项目中。然后,我们应该为我们的应用程序扩展LdapAuthenticationSource,如下所示: 公

我在文档中没有看到任何关于如何:

连接到LDAP和 根据广告组设置用户访问控制。 LDAP/Active Directory

LdapAuthenticationSource是一种外部身份验证的实现,使用户可以使用其LDAP active directory用户名和密码登录

如果我们想使用LDAP身份验证,我们首先将Abp.Zero.LDAP nuget包添加到我们的项目中,通常添加到核心域项目中。然后,我们应该为我们的应用程序扩展LdapAuthenticationSource,如下所示:

公共类MyDapAuthenticationSource:LdapAuthenticationSource { 公共MyLdapAuthenticationSourceILdapSettings设置,IAbpZeroLdapModuleConfig ldapModuleConfig :基本设置,ldapModuleConfig { } } 最后,我们应该将模块依赖项设置为AbpZeroLdapModule,并使用上面创建的验证源启用LDAP:

[依赖于BPZeroLDAPModule的类型] 公共类MyApplicationRemoModule:AbpModule { 公共覆盖无效预初始化 { Configuration.Modules.ZeroLdap.EnableTypeOfMylDapAuthenticationSource; } ... } 完成这些步骤后,将为您的应用程序启用LDAP模块。但默认情况下不启用LDAP验证。我们可以使用设置来启用它。 背景

LdapSettingNames类定义用于设置名称的常量。您可以在更改设置或获取设置时使用这些常量名称。对于多租户应用程序,LDAP设置为每个租户。因此,不同的租户有不同的设置,请参见github上的设置定义

正如您在MyldAppAuthenticationSource构造函数中看到的,LdapAuthenticationSource需要ILdapSettings作为构造函数参数。此接口用于获取LDAP设置,如连接到Active Directory的域、用户名和密码。默认实现LdapSettings类从设置管理器获取这些设置

如果使用设置管理器,则没有问题。您可以使用setting manager API更改LDAP设置。如果需要,可以将初始/种子数据添加到数据库中,以在默认情况下启用LDAP身份验证

注意:如果您没有定义域、用户名和密码,则如果您的应用程序在具有适当权限的域中运行,LDAP身份验证将适用于当前域。 自定义设置

如果要定义另一个设置源,可以实现自定义ILdapSettings类,如下所示:

公共类MyLDAP设置:ILdapSettings { 公共异步任务GetIsEnabledint?tenantId { 返回true; } 公共异步任务GetContextTypeint?租户 { 返回ContextType.Domain; } 公共异步任务GetContainerint?tenantId { 返回null; } 公共异步任务GetDomainint?租户ID { 返回null; } 公共异步任务GetUserNameint?租户ID { 返回null; } 公共异步任务GetPasswordint?tenantId { 返回null; } } 并在模块预初始化时将其注册到IOC:

[依赖于BPZeroLDAPModule的类型] 公共类MyApplicationRemoModule:AbpModule { 公共覆盖无效预初始化 { IocManager.Register;//更改默认设置源 Configuration.Modules.ZeroLdap.EnableTypeOfMylDapAuthenticationSource; } ... } 然后,您可以从任何其他源获取LDAP设置


为什么有人否决了这个?这是一个合法的问题。这是一个关于什么的合法问题?不清楚你问的是什么b太广泛了c不是关于计算机编程和d的话题。谢谢你,这非常有帮助,它让我朝着正确的方向前进!请参见。@Alper,如果用户存在于特定的广告组中,我们怎么能只允许用户登录?