0

我们有一个 Java Web 应用程序(使用 struts 和 hibernate)并希望用户自动登录到 Google 应用程序域帐户。

我们已经为教育域帐户设置了 Google 应用程序并在其中创建了用户,我们的 java Web 应用程序中也有相同的用户。

要求是当用户登录我们的应用程序门户时,他们是一个链接到谷歌应用程序,一旦他们点击这个链接,它应该登录他们而不要求输入密码。

我们使用 Tomcat 7 作为 Web 应用程序的服务器。我们应该使用哪种 SSO 工具来执行此操作?Oracle 的 SSO 是付费的,Shiboleth 不适用于 Tomcat 7。

任何帮助高度赞赏?SSO 是唯一的选择还是另一种方法。

谢谢

4

1 回答 1

0

任何支持 SAML2 协议的 SSO 解决方案都应该可以工作。除了 Oracle、IBM、CA 和其他公司提供的昂贵解决方案之外,您还可以找到以下与 Tomcat7 完全兼容且开源的解决方案:

  • Apereo (ex Jasig) CAS : 在教育界使用了很多。设置简单但特定配置(如高级身份验证模块)可能需要一些编程工作。它支持 Google Apps 身份验证,但不支持其他 SAML2 服务。如果您真的只想登录到 Google Apps,这是一个很棒且简单的解决方案。

  • Forgerock OpenAM:以前的 Sun OpenSSO,用于教育和工业。更多功能,支持大多数 SAML2 服务提供商,包括 Google Apps,但更复杂。

请注意,如果您已有门户解决方案,则应检查该门户是否尚不支持 SAML2 联合并可以充当 SSO 服务器。

另请注意,您需要链接门户身份验证和 SSO 服务器身份验证,以确保您的用户不会进行两次身份验证。这可以通过两种方式完成:

  1. 告诉 SSO 服务器将身份验证委托给您的门户解决方案。这可能需要一些轻量级的自定义编码,具体取决于您的门户。
  2. 相反:告诉门户使用 SSO 作为身份验证解决方案。大多数门户网站都支持某种身份验证委托,所以它应该只是配置?

最后,如果您的身份验证是在 Tomcat 本身上设置的(也就是说,如果您的门户网站已经将身份验证委托给 Tomcat 容器),那么您可以对 SSO 服务器执行相同的操作。

于 2014-08-26T09:29:19.777 回答