我无法确认ASP.NET Boilerplate是否支持使用Active Directory的LDAP over SSL协议进行身份验证。 documentation声明支持LDAP协议,但是没有提及使用LDAPS或类似过程的远程认证机制。
我假设ASP.NET Boilerplate在后台使用System.DirectoryServices
名称空间及其组件来处理LDAP身份验证,如果这样,最好通过做类似的事情来尝试更改Boilerplate的代码以支持LDAPS。 this还是应该将LDAPS实现划分为自定义类,并完全避免使用Boilerplate的LDAP?
答案 0 :(得分:1)
具体来说,Abp零Ldap使用PrincipalContext
命名空间中的System.DirectoryServices.AccountManagement
默认情况下,它使用principalContext.ValidateCredentials()
调用ContextOptions.Negotiate
与AD服务器通信
您可以尝试覆盖ValidateCredentials()
并将ContextOptiona.Negotiate | Context options.SecureSocketLayer
传递给principalContext.ValidateCredentials()
仍然会建议您使用Abp零Ldap模块,因为它已与Abp零用户登录流程很好地集成了。
如果您仍然想使用LdapConnection与AD服务器进行验证,则可以通过从LdapAuthenticationSource<TTenant, TUser>
扩展来创建自己的ldap身份验证源