我开始为三个不同的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解决方案可能也必须准备好处理这些问题。
发布于 2012-04-16 14:52:57
是的,听起来你需要一个“真实”的单点登录系统,而不仅仅是一个集中的证书存储库。正如您所提到的,有几种选择:
发布于 2012-05-04 15:03:42
SSOff也很简单:只需将每个请求都检入用户数据库,进入bool (userLogged)。没有重定向。在注销时,只需将记录(userLogged)更改为false,每个站点都会知道。
https://stackoverflow.com/questions/10152708
复制相似问题