我已经安装了一个带有j2ee openam策略代理的tomcat 6服务器。安装后我无法访问它,我总是被重定向到manager / amlogin.html。
之前没有发生这种情况所以我只能假设这是因为安装了代理。是否有我错过的配置设置?
答案 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模式。