6

问:您将如何创建SSO?您将如何处理身份验证(单独的应用程序或与 sso 相同)和用户存储

背景资料:

我们有 40 多个 php 应用程序、java 应用程序和 Ruby 应用程序。

目前,我们有一个自定义的 SSO+身份验证解决方案。这是一个用 php 编写的应用程序,现在用作 SSO,同时支持电子邮件/用户名/电话号码 + 密码作为身份验证。它可以工作,但仅为少数应用程序而构建,最初并非旨在成为 SSO - 解决方案。它没有可用的视图,每个应用程序都创建自己的登录/注册表单并使用 API。它们共享上下文,我们想要一个更通用的设计。

现在我们知道除了现有的身份验证之外,还希望支持 Oauth 和 openid 解决方案,如 facebook connect、google 等(或者我们真的吗?)。我们可以扩展现有的 php 解决方案,但我们正在考虑替代方案。

如果你要在 Ruby 中完成这一切,你会怎么做?

一些附加信息:

  • 今天,所有用户都存在于 SSO 中。
    • 该公司有时会收购其他公司/系统,拥有自己的用户。你会迁移或创建某种映射器吗?
  • Microsoft CRM 中的客户,但我认为这无关。还是我?
  • RubyCAS和ClassyCAS我都浅浅的看了一遍,不知道合不合适。CAS是要走的路吗?
  • 你会继续使用php吗?你会用什么?

如你所见,我有很多问题。你有什么建议?

4

2 回答 2

2

I a previous job we used Jasig CAS for SSO (several apps in Java and Python). After getting over some quirks in the configuration and my dislike of all things Java, it actually worked pretty well. At the time I found the wiki to be a valuable resource, but things might have changed in the last year.

Authentication was handled via a separate app (custom) using an OpenLDAP directory that was preinitialized with a script that got user info out of an AD server.

Regarding the actual server you might actually want to use the Jasig one, IIRC it's the reference implementation and is easy to customize via a Maven overlay.

于 2011-04-12T13:36:04.693 回答
0

Ruby-cas FTW。

于 2011-11-16T08:28:53.857 回答