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