使用 OpenAM 的 Glassfish 解决方法

Glassfish workaround to work with OpenAM

IT 部门。在我工作的公司使用 OpenAM 来管理通过 Intranet 的 Web 访问(SSO 解决方案)。

由于我使用的是 OpenAM 不支持的容器 Glassfish 4.1,是否有一些解决方法可以让我在不替换 Glassfish 的情况下使用 OpenAM?如果可以,我该怎么做?

提前致谢。

Payara (Glassfish) 上似乎无法部署 OpenAM。请参考blog and the last comment of this issue.

因此您可能需要使用其他容器,例如 Tomcat。

例如,当使用 OpenAM 13.5.0 时,可以将 OpenAM 部署到 Payara 4.1.2.172,例如稍作妥协。

免责声明:以下步骤允许将 OpenAM 部署到 GlassFish/Payara,但这并不意味着这种部署实际上受到任何人的支持。

所以步骤是:

  • 在 WEB-INF/lib/openam-radius-server-13.5.0.jar 中的 WAR 文件中,您需要删除 META-INF/INDEX.LIST 文件
  • 您需要编辑 WEB-INF/web.xml 文件并删除 wsfederationrest servlet 及其映射
  • 要部署 WAR,您需要执行此命令:

    bin/asadmin deploy --name openam --contextroot /openam --property implicitCdiEnabled=false OpenAM-13.5.0.war