![如何设置身份验证系统以根据现有 SQL Server 数据库对用户进行身份验证](https://linux22.com/image/644406/%E5%A6%82%E4%BD%95%E8%AE%BE%E7%BD%AE%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E7%B3%BB%E7%BB%9F%E4%BB%A5%E6%A0%B9%E6%8D%AE%E7%8E%B0%E6%9C%89%20SQL%20Server%20%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AF%B9%E7%94%A8%E6%88%B7%E8%BF%9B%E8%A1%8C%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81.png)
我有一个预先存在的 SQL Server 数据库,其中包含由 ASP.NET 网站维护的数千名用户的登录信息(用户名、密码哈希值)。我想提供身份验证服务,以便其他应用程序和服务器可以通过 LDAP 等通用协议针对同一数据库对用户进行身份验证。
我的第一个想法是设置一个带有自定义身份验证模块的 Active Directory 服务器,但到目前为止我还没有找到有关如何做到这一点的信息。
这有可能吗?我应该考虑其他解决方案,例如 OpenLDAP 吗?
答案1
虚拟目录服务器可以解决您的问题。
维基百科对虚拟目录服务器的定义:
在此上下文中,虚拟目录或虚拟目录服务器是一个软件层,为身份管理应用程序和服务平台提供单一访问点。虚拟目录充当高性能、轻量级的抽象层,位于客户端应用程序和不同类型的身份数据存储库之间,例如专有和标准目录、数据库、Web 服务和应用程序。
虚拟目录通过抽象和虚拟化数据接收查询并将其定向到适当的数据源。虚拟目录集成来自多个异构数据存储的身份数据,并将其呈现为来自一个源。这种访问不同存储库的能力使虚拟目录技术成为整合存储在分布式环境中的数据的理想选择。
虚拟目录服务器最常用的是 LDAP 协议,但更复杂的虚拟目录也可以支持 SQL 以及 DSML 和 SPML。