与客户现有的活动目录集成



我有一个正在运行的网站,它有自己的一组用户,并有一个身份验证系统,该系统进行基本的数据库查找,以验证用户登录网站的身份。我们的一个客户对该网站感兴趣,并要求他们不要再次向我们注册所有现有用户,而是拥有一个Active Directory,我应该使用它来验证他们。这将阻止客户端向我们注册其所有用户,并阻止客户端记住另一组用户名和密码。

我的网站是用Java构建的,我正在寻找一个可以在中与active directory集成的解决方案。

我是Active Directory的新手,一直在网上搜索,但未能找到最佳解决方案。我对Active Directory的理解是,它将有一组用户名和密码,如果我能够成功地与它集成,除了拥有自己的用户数据库外,我还必须在客户端的Active Directory中查找,如果找到匹配,我可以对用户进行身份验证。

如果我的理解是错误的,请纠正我,你能给我指正确的方向吗?

谢谢,

Mayank

如果您使用的是Tomcat 6及更高版本,请尝试我的Tomcat SPNEGO/Active Directory Authnz。该代码具有生产质量,即将发布。建立网站并阅读文档,一切都已描述。

您的应用程序部署在哪里?如果是在客户的场所,那么最简单的方法可能是像@nzpcmad建议的那样,对AD(LDAP服务器)进行LDAP查询。如果我没有记错的话,Tomcat也支持Windows身份验证,所以走这条路可能会更容易。

如果是非本地的,则必须使用身份联合方法。您将不得不更改您的应用程序以接受SAML令牌并实现SAML协议(因为您身处Java世界,这可能是最好的选择)。您的客户将需要部署STS(如ADFS)。

这实际上取决于您的应用程序是如何被客户设计和访问的(prem与托管、单租户与多租户)。

你已经用adfs标记了这个,但问题上没有提到这个?

有趣的是,你也许可以用ADFS做到这一点。

如果您可以在自己的一侧集成STS,那么您可以与ADFS联合,然后用户可以选择在哪个存储库上进行身份验证。

我不确定你的数据库是如何进行身份验证的?如果它是自定义的,那么可能没有STS支持它。

或者,在身份验证屏幕前面添加另一个屏幕。此屏幕询问用户要使用哪个存储库。如果他们选择AD,那么只需通过用于Active Directory的Java API(如JNDI)访问AD。

最新更新