有一个项目使用Python Django,这是另一个使用PHP的独立项目。两者都拥有自己的用户身份验证。模块。将用户管理合并在一起的简单方法是什么?
我们开始检查开源解决方案为CAS,cosign。这是一个真正的问题,既用于校园/大学,也不确定它对网络应用程序有好处。
在遗留应用程序之间启动单点登录(SSO),将来某些应用程序将在Ruby中开发。谁可以建议对SSO解决方案进行良好投资?一个明确的API,为Web应用程序做好准备,而不是太高的硬件要求。
答案 0 :(得分:3)
我建议使用rubycas server - 它是Ruby中的Jasig CAS的实现(sinatra应用程序)。根据我的经验,它比Jasig更容易设置,我发现CAS的客户比SAML更好(尽管两者都是很好的解决方案)。它集成了开箱即用的ldap目录(包括AD),当然也包括来自数据库的用户记录。
使用phpCAS轻松获取PHP应用程序对CAS服务器进行身份验证,ruby / rails应用程序可以使用rubyCas client,虽然我没有使用它,django-cas看起来很有希望。
对于旧版应用程序,甚至只是Apache共享的受保护文件夹,您还可以使用Apache模块mod_auth_cas。
答案 1 :(得分:1)
您是否考虑过部署基于SAML的联合身份基础架构? 有开源解决方案来构建它。
您需要的第一件事是部署身份提供商(IdP)。 Install and configure simpleSAMLphp as an IdP并将其连接到您想要的身份验证源(ldap,数据库等)
然后,您可以通过服务提供商(SP)将您的应用程序连接到IdP。根据您要连接的软件语言,有不同的SP解决方案。
可以使用simpleSAMLphp deployed as a SP和using its API
使用本机集成连接PHP软件可以使用pysaml和djangosaml2
连接Python / django应用 ,Ruby软件支持SAML