使用Spring与Heroku进行身份验证

时间:2012-08-06 14:58:23

标签: java spring tomcat heroku

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

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

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

1 个答案:

答案 0 :(得分:0)

更新:配置按设计工作。

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

相关问题