SSO通过加密令牌

时间:2012-07-11 11:46:19

标签: java security java-ee web-applications

我们需要在一个项目中为两个不同的Web应用程序实现单点登录,一个是我们自己的,另一个是由其他人实现的。对于我们自己的应用程序,我们在数据库中存储(加密)用户/密码。由于我们的应用程序将集成到他们的环境中,我们现在需要一种机制让我们授权用户已经在他们身边登录而不再显示登录屏幕。

由于我自己不是安全专家,所以我开始(在高层次上)阅读有关SSO的一些技术,例如: OpenID,Kerberos,SAML,CAS - 但我还没有获得实践经验。

在向错误的方向前进之前 - 有人可以在这个领域为我提供自己的经验,并指出我要使用的框架或一篇关于应该如何做的好文章(以及最近的文章)?

还有一个信息:客户谈到更喜欢在两个webapp之间传递加密令牌。这有意义吗?这会导致某种技术吗?

1 个答案:

答案 0 :(得分:0)

我们为此目的使用SAML实现(https://svn.softwareborsen.dk/oiosaml.java/sp/trunk/docs/index.html) - 它很容易集成到我们现有的Web应用程序中。

工作方案如下所示:您将拥有一个登录页面,SAML框架会重定向用户。因此,在成功登录后,他获得了一个带有身份验证令牌的cookie,并重定向回Web应用程序页面。您还将拥有一个识别Web服务,您可以调用它,传递提供的令牌,并能够从那里获取身份验证凭据(用户角色等),因此您的所有Web应用程序都可以在登录时识别该用户。