8

我正在尝试通过参考以下链接在我现有的 Web 应用程序中使用 OpenAM 实现 SSO

http://fczaja.blogspot.com/2012/06/idp-initiated-sso-and-identity_21.html

PS。我的网络应用程序已经有了自己的登录页面

现在实现后得到的是,openAM 登录页面在我的 Web 应用程序中受到保护,我需要再次登录到我的应用程序

我需要的是,想跳过我的应用程序的登录页面成为单点登录。

那么,谁能告诉我我还需要做哪些任务?我需要修改我的应用程序的登录页面吗?我需要任何数据库或数据存储来保存用户登录信息吗?

4

2 回答 2

6

既然 OpenAM 代理已在您的应用程序之上就位,您的 Web 应用程序可以在假设已经有一个有效的登录用户的情况下工作 - 您需要从您的 Web 应用程序中删除登录页面。

要获取当前用户详细信息,只需更改您的 OpenAM 代理配置以使用用户名、全名等相关字段设置 HTTP 标头。然后您只需检查 HTTP 标头而不是 Web 应用程序登录页面(只要只有通过 OpenAM 代理进入您的 Web 应用程序的路由)。

另一种方法是获取 OpenAM cookie 并使用它直接对服务器进行 REST 调用。使事情变得更加脆弱,因为您现在需要维护额外的配置。

您的网络应用程序不一定需要任何额外的用户表/数据存储,只有当您需要将他们的登录名映射到您的网络应用程序正在执行的任何操作(保存首选项等)时,您才需要检查您获得的用户名已经存在于您的应用程序中。如果没有,则添加它。

于 2013-06-23T20:59:04.550 回答
2

我们能够通过使用 Spring SAML 扩展和 Openam 的 JSF Web 应用程序使用 openam 实现单点登录。我们使用 fedelet 代替代理,这样我们可以移植到 ant 应用服务器

请参阅我关于与 Openam 概念相关的一般信息的文章 http://reddymails.blogspot.com/2013/03/sso-for-java-or-net-web-based.html

使用 Spring SAML 扩展和 Spring Security 将 JSF 2 Web 应用程序与 Openam 集成的步骤。 http://reddymails.blogspot.com/2013/06/integrating-jsf-web-application-with.html

-内存

于 2013-06-24T21:30:53.333 回答