1

我有一个部署到 Heroku 的应用程序,它使用 Spring Security,并且通过扩展,HttpSessionSecurityContextRepository. 意识到HttpSession当扩展到多个测功机时会导致问题,我正在尝试使用标志(使用 Heroku memcache 插件)配置 webapp-runner( https://github.com/jsimone/webapp-runner )。--session_manager memcache

使用 Apache 和mod_proxy、两个 Tomcat 实例和 memcached 1.4.13 的本地配置工作正常。然而,当部署到 Heroku 时,即使使用单个 dyno,它也会失败 - 随机重定向到登录页面,就像未经身份验证一样,表明会话存储不工作。相同的 Procfile,通过等验证MEMCACHE_*变量。heroku config

有没有人有类似配置的经验?

4

1 回答 1

0

更新:配置按设计工作。

该问题是由 Spring Security 错误配置引起的。隐藏在应用程序中的错误图像 URL 触发了重定向。intercept-url虽然这应该只是一个 404,但context-security.xml 中还有一个包罗万象的模式,访问权限设置为IS_AUTHENTICATED_FULLY. 结果是任何带有错误 URL 的页面都被重定向到登录页面。更正这些 URL 解决了部署到 Heroku 时的问题,但我无法解释为什么它没有显示在本地系统上。

于 2012-08-08T22:50:55.600 回答