0

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

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

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

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

4

1 回答 1

0

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

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

于 2012-07-11T13:27:03.810 回答