Suggestion/Guidance 实施 LDAP (Active Directory) 身份验证

Suggestion/Guidance to Implementing LDAP (Active Directory) authentication

问题陈述:

我正在尝试构建一个需要身份验证和授权的自定义管理系统。 系统需要具有 manage/create/update/delete 用户、角色、权限和组的能力。

我的设计方案

我计划从头开始在内部实施此功能,并将提供如下身份验证和授权。

身份验证:用户将提供其凭据,系统将验证用户是否有效。

授权:用户通过身份验证后,根据用户组和权限,他们可以访问站点上请求的页面。

问题:

现在,我的问题是,假设我已成功构建此应用程序,并且将来我的应用程序需要 LDAP(活动目录)身份验证,是否可以插入 LDAP 相关功能以保持我现有应用程序的完整性,否则我将不得不使用 LDAP API 重写整个或大部分应用程序。

我看过 apache shiro 和 spring security 哪个 提供 LDAP 功能,它们还为 manage/create/update/delete 用户提供功能。

到目前为止,我还没有决定是跟他们一起去还是自己写。

如果我能得到有关如何处理事情的详细回复,我将不胜感激。

注: 我是 LDAP 的新手,所以如果我使用了一些关于 LDAP 的错误术语,请原谅。

我建议不要自己实施,只需与现有 API 集成即可。

披露:我为 Stormpath (which provides exactly this) and on Apache Shiro 工作。

此外,如果您的应用程序需要 LDAP 支持,我见过的大多数 LDAP 设置在与应用程序集成时仅支持读取操作,因此您可能想与您的 LDAP 管理员,看看您的 'manage' 用户用例是否可行。

安全是一个严肃的领域,隐藏着许多复杂的问题。我肯定会建议不要自己实施。既然你提到了 Spring LDAP,我猜你在一个基于 Spring 的项目中。在这种设置中,显而易见的选择是出色的 Spring Security 项目。