如何在多元化的环境中实施“全球识别系统”?

时间:2010-01-17 17:30:49

标签: ruby-on-rails asp.net-mvc integration

我正在考虑为我们所有的在线产品创建一个全球ID系统,包括我们自己的公司网站(我们还没有任何公开的产品,但我们相当接近)。如果我们完全是一个.Net商店,这不会是一个大问题,但我们至少有ASP.Net MVC和Ruby on Rails,谁知道我们将来还会有什么。

您如何在多样化的环境中实施此类系统?您会使用内部Web服务进行身份验证吗?

2 个答案:

答案 0 :(得分:1)

是的,像SOAP Web服务这样的标准所涵盖的内容将是最明显的方式。

易于使用C#/ .net编写,并且只要您了解交叉兼容性问题,它应该可以被任何其他语言/平台使用。

请确保您首先了解Google的互联网服务互操作性信息,因为有一些问题。有一些博客文章here需要检查一些常见的事情。

答案 1 :(得分:1)

我最近这样做了,在高层次上相当简单:

  • 创建一个授权凭据(用户/密码)的Web服务,然后发出身份验证令牌(例如guid)。此令牌将在设定的时间或用户注销时到期。令牌可以存储在用于Web应用程序的cookie中,也可以存储在客户端/服务器应用程序的客户端内存中。
  • 当用户从一个系统移动到另一个系统时,各个系统应检查身份验证服务以查看该令牌是否仍处于活动状态。如果不是(例如在超时或假令牌的情况下),它应该将用户重定向到全局登录。
  • 很高兴有功能,但不是必需的:当用户在系统中处于活动状态时,它应该偶尔调用身份验证服务并刷新/延长令牌的生命周期。

显然,在编写自定义解决方案之前,应该先考虑运行自己的OpenID或OpenAuth服务器。