安装OpenAM J2EE Policy Agent后无法再访问Tomcat Manager

时间:2011-08-26 12:40:26

标签: tomcat java-ee openam

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

之前没有发生这种情况所以我只能假设这是因为安装了代理。是否有我错过的配置设置?

2 个答案:

答案 0 :(得分:1)

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

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

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

要使用hudson部署插件,我们将更改还原为管理器应用程序web.xml(代理在安装期间备份原始web.xml)

为了为管理器启用默认的UserDatabase域,我们将Realm定义放入特定于管理器应用$ {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集成的代理程序安装的自定义域。

答案 1 :(得分:0)

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

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

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