2012-08-06 34 views
1

我有一个应用程序部署到使用Spring Security的Heroku,扩展HttpSessionSecurityContextRepository。意识到HttpSession将扩展到多个dynos时会导致问题,我试图配置带有--session_manager memcache标志(Heroku memcache插件)的webapp-runner(https://github.com/jsimone/webapp-runner)。使用Spring与Heroku进行身份验证

使用Apache和mod_proxy,两个Tomcat实例和memcached 1.4.13的本地配置正常工作。但是,在部署到Heroku时,即使使用单个测试仪,它也会失败 - 随机重定向到登录页面,如同未经身份验证一样,表示会话存储不起作用。 Same Procfile,通过heroku config等验证了MEMCACHE_*变量等。

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

+0

似乎应该工作。你可以使用'heroku logs'来验证webapp-runner的Memcache会话管理是否设置正确? – 2012-08-07 14:32:05

回答

0

更新:配置按设计工作。

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