我们正在与一家公共机构合作开展一项练习,安装不同的开源工具供他们试验,看看哪种最适合他们。
因此,我们正在安装:
- 维基百科(dokuwiki)
- 媒体妖怪
- GNU社交
- 以太板
- 以太计算器
可能还有更多。
我们正在考虑使用 LDAP 来协调登录。
但常常感觉 LDAP 插件不再维护,并且配置难以正常工作,一些工具的 LDAP 文档不足。
现在通过 LDAP 执行此操作仍然是一个好主意吗? OAuth 也许是更好的选择吗?
我知道这不是代码问题,但我们想了解的是,我们是否应该坚持使用 LDAP 的决定,还是应该考虑其他途径。非常感谢
答案1
LDAP 无法提供单点登录。能够使用相同的用户和单点登录之间存在很大差异,单点登录意味着您使用单一登录表单一次登录所有系统。否则,LDAP 完全可以在所有系统中使用相同的登录信息。
OAuth 只是一种用于登录的协议,它可以使用 LDAP 作为用户管理的后端。
答案2
在大学里,Apereo [原名 Jasig] CAS系统是大型 Web 应用程序套件进行单点登录的常用方法。使用 CAS,用户只需在身份验证服务器上输入密码——各个应用程序验证一次性票据,而不是查看用户的密码。当处理由许多内部团队和供应商开发的应用程序时,这是一个重大的安全胜利,因为没有任何应用程序可以访问用户的密码。
大多数编程环境都有许多 CAS 客户端库,内置 CAS 支持在大学使用或销售的应用程序中越来越常见。除了主要的“Jasig CAS 服务器”外,还有几个其他服务器可用,包括Ruby CAS 服务器和一个Drupal 模块它可以充当 CAS 服务器,用于根据 Drupal 数据库对其他应用程序进行身份验证。
Jasig CAS 服务器本身是用 Java 编写的,可由任意数量的身份验证处理程序支持, 包括:
- 数据库
- 杰斐逊美国农业部
- LDAP
- 遗产
- OAuth 1.0/2.0,OpenID
- 半径
- SPNEGO(Windows)
- 受信任 (REMOTE_USER)
- X.509(客户端 SSL 证书)
Jasig CAS 服务器可以通过用于单点登录的多种不同协议充当应用程序的身份验证源:
- CAS 协议 1/2/3
- SAML 协议 1.1/2.0
- OAuth 协议
- OpenId 协议
它甚至可以用作 Shibboleth 提供商背后的身份验证,或者使用 Shibboleth 客户端作为身份验证后端。
注意:Jasig 组织正在与 Apereo 组织合并,因此一些网址将来可能会改变。