使用Apache和LDAP单点login

我有一个运行两个Web应用程序的服务器:Gerrit和Mantis BT。 现在,这些应用程序连接到LDAP服务器来validation用户,它工作正常。 但用户必须为每个应用程序进行身份validation; 我想允许用户只validation一次(可能使用Apache + LDAP),并重用凭据在两个应用程序中自动login用户。

我现在的networking架构:

网络架构图我现在有

我想要的networking架构:

我想要的网络体系结构图

我甚至不知道在Google上寻找什么,因为我一般不熟悉HTTP身份validation和服务器pipe理。 任何解决scheme或指向我想要的东西将不胜感激。

组态:
Ubuntu服务器14.04 LTS
Apache2 2.4
格里特2.10
螳螂BT 1.2.19

重要笔记:
我想保留Gerrit。
我可以使用另一个错误跟踪器,如果它做我想要的东西很容易。

Web SSO有几个标准。 LDAP不是一个SSO机制,只是查找信息。 联系您的供应商,了解这些应用程序是否支持Kerberos(Apache使用mod_auth_kerb)或SAML(如Shibboleth)。 每个都需要一些基础设施,比如Active Directory,FreeIPA,Shibboleth,Oracle Identity Federation等。

如果您希望单点login您的应用程序,我会build议使用Kerberos / GSSAPI身份validation。 通过为您的用户和组提供集中存储的身份pipe理服务器,您可以挂接Apache Web应用程序 ,gerrit或Redmine 。 对于IdM服务器,您可以使用免费提供的FreeIPA项目,它是开源的。

在你的情况下,使用Univention公司服务器(UCS)也是有意义的,因为它包含自最新版本(UCS 4.1)以来通过SAML 2.0的SSO机制。 更多关于在UCS手册 。 您需要pipe理的用户数据以openLDAP存储和pipe理,这也包含在UCS中。

如果您testing可从Univention网站免费下载的UCS及其SSOfunction,则只能将您的应用程序configuration为使用UCS作为IdP。 为此,请再次检查UCS手册 。

由于UCS也基于Debian,您的Ubuntu客户端可以很容易地集成到UCS域中。 关于这个在UCS手册中的更多细节。 LDAP集成通过SSSD进行pipe理。