java - 使用 Spring 和 Heroku 进行身份验证

标签 java spring tomcat heroku

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

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

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

最佳答案

更新:配置按设计工作。

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

关于java - 使用 Spring 和 Heroku 进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11830799/

相关文章:

java - 生成的类的 Tomcat 持久 session 问题

java - 检查三个 boolean 值的最快且最易读的方法

java - 使用 Java 扫描病毒签名

java - Spring Boot 中一秒 session 超时

Java OutOfMemory 异常 : mmap failed for CEN and END part of zip file

tomcat - 无法从本地主机建立 SSL 连接

java - Android Studio : Hardware backing HAL too slow, 只能写入 720 帧中的 0 帧

java - 无法使用 Maven 在 Android Studio 中导入 GSON/JSON

java - 复杂应用中的Mybatis注解

java - 向实体中的实例添加属性