java - 添加Spring Security导致列和表丢失

标签 java spring postgresql spring-boot spring-security

我一直在使用 Spring Boot 开发一个网络应用程序。昨天我添加了 Spring Security 并为任何请求强制使用 HTTPS,扩展了 WebSecurityConfigurerAdapter 并添加了

http.authorizeRequests().anyRequest().permitAll().and().requiresChannel().anyRequest().requiresSecure();

configure(HttpSecurity http) 覆盖的方法。 我还在返回 ServletWebServerFactory 的 bean 中添加了一个额外的 Connector,它将 HTTP 重定向到 HTTPS:

Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(80);
connector.setRedirectPort(443);

突然间,我遇到了很多这样的错误:

org.postgresql.util.PSQLException: ERROR: column AAA does not exist
org.postgresql.util.PSQLException: ERROR: relation "BBB" does not exist

AAABBB 存在于数据库中(我使用 DataGrip 验证)。其他代码都没有被触及。我使用 JdbcTemplate 进行查询(没有 Hibernate/JPA)。

我有两年的 Spring 经验,我觉得这令人眼花缭乱。不过,不得不说这是我在 Spring 中从头开始完成的第一个应用程序。

最佳答案

我终于解决了这个棘手的问题。这是因为在启用 Spring Security 的情况下启动应用程序时,我通过命令行参数传递了错误的连接字符串。

在阅读了您的评论后,我再次对代码进行了回归,并注意到抛出了相同的异常,因此立即将 Spring Security 排除在罪魁祸首之外。

我之前没有注意到它,因为我以前的启动是使用正确的连接字符串完成的(没有注意到)。

这是一个错误,因为我从存储命令行参数的文本文件中复制粘贴了错误。

感谢您确认 Spring Security 和数据库问题无关,我能够更好地指导我的搜索。

关于java - 添加Spring Security导致列和表丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50834442/

相关文章:

Java 替代 C 宏

java - 当我重新启动应用程序时,如何在 EditText 中保留 string/int 值?

java - 如何将一个对象克隆为Object类的对象?

java - spring oauth 2 的示例 xml 配置

spring - 无法使用 JPA 截断 PostgreSQL 表

sql - 如何从 PostgreSQL 中的另一个表插入对 UUID 的引用?

java - EclipseLink级联持续异常

java - 我们如何在 Hibernate 中设置数据库 session 变量?

java - 从引用 bean 的映射中获取键值

postgresql - 如何在 pg_dump 中获取模式的完整列表?