首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SSO,未知

SSO,未知
EN

Stack Overflow用户
提问于 2012-04-14 10:01:33
回答 2查看 595关注 0票数 2

我开始为三个不同的we应用程序开发一个SSO解决方案,我们已经为同一个客户端开发并维护了这些应用程序。

问题是,所有3个用户都通过第四个单独的应用程序将其用户和登录信息存储在同一个位置,该应用程序只提供基本的restful服务。这基本上意味着,当您尝试登录时,我们实际上调用了rest服务,询问这个用户名和密码是否正确。

在某种程度上,这第四种宁静的思维方式已经完成了我们所需要的工作的至少一半。

我们现在需要的是一种让用户登录到webapp A的方法,然后按照链接(或只需键入它的url)到webapp B(或只需键入它的url),然后到达已经登录的(反之亦然)。

我已经读了很多关于和openID,甚至oauth的文章,但是我真的无法下定决心。这个模式集中吗?分散?

我的一万英尺视图表明,我需要在restful服务器中添加这个“缺失的特性”。

但是怎么做呢?

ps:这3是完全分开的。部署在不同的机器上(其中两台运行在玻璃鱼上,另一台运行在tomcat上)。也有不同的领域。

pps:它们都是由春天驱动的webapp(因此他们使用spring-security) )。

ppps:到目前为止,还有其他使用restul (非spring,非java)的non应用程序。这个sso解决方案可能也必须准备好处理这些问题。

EN

回答 2

Stack Overflow用户

发布于 2012-04-16 14:52:57

是的,听起来你需要一个“真实”的单点登录系统,而不仅仅是一个集中的证书存储库。正如您所提到的,有几种选择:

  1. OpenId -更适合于internet类型的应用程序,在该应用程序中,用户可以使用第三方维护的凭据登录到您的系统。Stackoverflow是一个典型的例子。您可以登录您的谷歌帐户等。
  2. Oauth提供伪身份验证和sso -而OpenId说“这是用户x”oauth说“这个用户可以访问x的信息”.所以你可以假设用户是x。
  3. CAS云封OpenAM等都提供真正的单点登录,适合于intranet或extranet环境。CAS和Cloud密封具有特别好的Spring支持。
票数 4
EN

Stack Overflow用户

发布于 2012-05-04 15:03:42

  • 受信任的站点(白名单中的依赖方(RP) -- app a,b,c)请求(重定向)到主站点(provider -“第四个单独的应用程序”)并返回url。
  • 主站点确保请求(returnURL)来自域的白列表
  • 日志用户(如果没有登录,则显示登录表单),将用户标记为登录数据库,并向用户数据库添加临时令牌。
  • 主站点返回(重定向)到RP与令牌。
  • RP使用令牌查看数据库,记录用户并删除令牌。

SSOff也很简单:只需将每个请求都检入用户数据库,进入bool (userLogged)。没有重定向。在注销时,只需将记录(userLogged)更改为false,每个站点都会知道。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10152708

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档