0

我公司有5个产品网站,使用ASP.net、PHP、Flex等开发,大部分都是普通用户。要求是避免同一用户访问这些网站时多次登录。我们为每个站点提供不同的数据库进行身份验证。只有注册用户才能访问相应的网站。

这样做的简单易行的方法是什么?由于平台不同,Cookie 无法正常工作。我想使用 ASP.net/c#/SQL 服务器进行开发。市场上有不同的 SSO 可用(带有组件空间库的 SAML 2.0),但不确定在我们的案例中是否需要它。

4

1 回答 1

1

这可以实现的方式是使用基于声明的身份验证。

基本上,您将生成某种令牌,该令牌将跟随用户从一个系统到另一个系统。(加密,验证了一些来自可信来源的方法。)

使用该令牌,每个系统都可以验证用户身份并在成功时授权访问。

这类似于某些网站(如 StackOverflow)允许您使用 Google 或 Facebook 帐户登录而无需创建个人帐户的方式。然后,当您登录时,FB 或 Google 会发出一个令牌(又称声明),表明您就是您所说的那个人。因为 StackOverflow 信任 Google,所以他们接受了您就是您的声明(承诺),实际上就是您。

于 2013-01-10T21:40:20.533 回答