有一个项目使用 Python Django,另一个独立项目使用 PHP。两者都有自己的用户身份验证。模块。将用户管理合并在一起的简单方法是什么?
我们开始检查开源解决方案,如CAS、cosign。在校园/大学中都使用它是一个真正的问题,并且不确定它是否适用于 Web 应用程序。
在遗留应用程序之间启动单点登录 (SSO),未来将使用 Ruby 开发一些应用程序。谁能建议对 SSO 解决方案进行良好的投资?一个清晰的 API,为 Web 应用程序做好准备并且对硬件要求不高是很好的。
我建议使用rubycas 服务器——它是 Jasig 在 Ruby 中的 CAS 的实现(一个 sinatra 应用程序)。根据我的经验,它比 Jasig 更容易设置,而且我发现 CAS 的客户端比 SAML 更好(尽管两者都是很好的解决方案)。它集成了开箱即用的 ldap 目录(包括 AD),当然还有来自数据库的用户记录。
使用phpCAS让 PHP 应用程序对 CAS 服务器进行身份验证很容易,ruby/rails 应用程序可以使用rubyCas 客户端,虽然我没有使用它,但django-cas看起来很有希望。
对于遗留应用程序,甚至只是由 Apache 共享的受保护文件夹,您还可以使用 Apache 模块mod_auth_cas。
您是否考虑过部署基于SAML的联合身份基础设施?有构建它的开源解决方案。
您需要做的第一件事是部署身份提供者 (IdP)。将 simpleSAMLphp 安装和配置为 IdP,并将其连接到您想要的身份验证源(ldap、数据库等)
然后,您可以通过服务提供商 (SP) 将您的应用程序连接到 IdP。根据您要连接的软件的语言,有不同的 SP 解决方案。
PHP 软件可以使用作为 SP 部署的simpleSAMLphp 的本机集成,并使用其 API进行连接