我已经安装了一个带有 j2ee openam 策略代理的 tomcat 6 服务器。安装后我无法访问它,我总是被重定向到 manager/amlogin.html。
这以前没有发生过,所以我只能假设这是因为代理安装。有没有我错过的配置设置?
我已经安装了一个带有 j2ee openam 策略代理的 tomcat 6 服务器。安装后我无法访问它,我总是被重定向到 manager/amlogin.html。
这以前没有发生过,所以我只能假设这是因为代理安装。有没有我错过的配置设置?
作为我们持续集成的一部分,我们希望能够将我们的应用程序自动部署到我们的 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 集成的代理安装的自定义领域。
是的,如果您尝试访问受保护的内容,这是正常行为。
策略代理检测到您没有经过身份验证的会话,因此会将您重定向到负责对您进行身份验证的身份提供者。
有关 OpenAM 如何工作的更多信息,您应该查看 SAML 2.0 维基百科页面:http
://en.wikipedia.org/wiki/SAML_2.0
在您的情况下,OpenAM 代理是一个服务提供商。
策略代理通常会影响全局 web.xml 和 Tomcat 的 server.xml 文件。如果您正在访问未受保护的内容,您应该编辑 OpenAM 应该在这 2 个文件中保护的 URL 模式。