3

我已经安装了一个带有 j2ee openam 策略代理的 tomcat 6 服务器。安装后我无法访问它,我总是被重定向到 manager/amlogin.html。

这以前没有发生过,所以我只能假设这是因为代理安装。有没有我错过的配置设置?

4

2 回答 2

1

作为我们持续集成的一部分,我们希望能够将我们的应用程序自动部署到我们的 openam 代理保护的 tomcat 服务器中。

hudson 部署插件使用 tomcat 管理器应用程序进行部署,但是如问题中所述,在代理安装后,管理器应用程序不再可以通过正常机制(HTTP 基本身份验证)访问。

在安装过程中,代理会更新管理器应用程序 web.xml 以将默认的 BASIC 身份验证更改为基于 FORM 的身份验证,随后可以将其配置为与 openam 一起使用(也提供对管理器应用程序的单点登录) - 了解更多信息请参阅http://docs.oracle.com/cd/E19681-01/820-7251/gicpx/index.html

为了使用 hudson deploy 插件,我们恢复了对管理器应用程序 web.xml 的更改(代理在安装过程中备份了原始 web.xml)

为了启用管理器的默认 UserDatabase 领域,我们将领域定义放入特定于管理器应用程序 ${TOMCAT_HOME}/conf/Catalina/manager.xml 的 Context 元素中:

<Context antiResourceLocking="false" privileged="true" useHttpOnly="true">

    <!-- user default tomcat-users to manage roles for the manager app -->
    <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
         resourceName="UserDatabase"/>

</Context>

这重新启用了对管理器应用程序的基本身份验证登录,而不会影响其他 Web 应用程序需要用于 openam 集成的代理安装的自定义领域。

于 2013-05-03T09:35:19.920 回答
0

是的,如果您尝试访问受保护的内容,这是正常行为。

策略代理检测到您没有经过身份验证的会话,因此会将您重定向到负责对您进行身份验证的身份提供者。
有关 OpenAM 如何工作的更多信息,您应该查看 SAML 2.0 维基百科页面:http
://en.wikipedia.org/wiki/SAML_2.0 在您的情况下,OpenAM 代理是一个服务提供商。

策略代理通常会影响全局 web.xml 和 Tomcat 的 server.xml 文件。如果您正在访问未受保护的内容,您应该编辑 OpenAM 应该在这 2 个文件中保护的 URL 模式。

于 2011-09-03T21:47:13.813 回答