我们刚刚开始使用名为 SysAid 的新软件,它使用 LDAP 来验证用户身份。
我们有一个客户,它使用 OpenAM 对专有 Web 应用程序的用户进行身份验证。
我们的目标是使用 OpenLDAP 作为 OpenAM 服务器和 LDAP 服务器之间的中间人。最终目标是允许用户使用 OpenAM 凭据登录 SysAID,而无需创建任何其他帐户。
我已经设法让 OpenAM 服务器和 OpenLDAP 服务器在虚拟机中成功运行,但是我对下一步应该做什么感到很困惑。
可能有更好的方法来完成我想做的事情,否则朝着正确的方向进行一些有用的推动会给我的一天带来奇迹!
答案1
最终目标是允许用户使用 OpenAM 凭据登录 SysAID,而无需创建任何其他帐户。
几年前我无法让 OpenAM 做这类事情,但也许他们已经清理了一些。我的运气好得多希博莱斯。
执行此类操作的简单方法是使用 SAML v2.0 或 OAuth 2.0。 SysAID 会将无 cookie 的访问重定向到 OpenAM 服务器,该服务器会要求用户 ID 和密码,并根据 LDAP 对这些信息进行身份验证。身份验证成功后,OpenAM 将重定向回 SysAID。您可以使用以下命令来查看此类操作的实际效果SimpleSAMLphp,与飞德OpenIdP。
我想您会发现 OpenAM 是中间人/经纪人,而使用 OpenLDAP 作为中间人只会使事情变得复杂。
答案2
从 SysAid 的角度来看,您可以采用另一种解决方案;您可以为 SysAid 编写外部登录类,以允许直接针对 OpenAM 进行身份验证,而不是以 OpenLDAP 服务器的形式放置中间人,从 OpenAM 收集数据,然后 SysAid 从那里获取数据。
您仍然需要以某种方式将用户详细信息从 OpenAM 导入到 SysAid,但如果您可以将用户从 OpenAM 导出到 CSV 文件,那么您可以将其导入到 SysAid(甚至安排每日导入)。
请记住,为 SysAid 编写外部登录类需要编程技能 (Java),并且需要 OpenAM 真正支持它(我猜它确实支持)。
如果您没有资源自行开发此项目,您可以联系 SysAid 的专业服务团队并获取价格估算,让他们为您实施实施...
答案3
这在很大程度上取决于 OpenAM 的配置方式,但在除少数情况外的所有情况下,它已经在使用 LDAP 后端(您可以通过进入访问控制 -> [领域] -> 数据来查看这一点商店)。
如果 SysAid 支持 LDAP 身份验证,它应该能够针对 OpenAM 目前使用的相同 LDAP 数据存储进行身份验证,而无需创建/管理新帐户。它不会是单点登录,但它将使用相同的用户/组/密码等。