我一直在用Spring Boot开发一个webapp。昨天我添加了Spring Security并强制HTTPS支持任何请求,扩展WebSecurityConfigurerAdapter
并添加
http.authorizeRequests().anyRequest().permitAll().and().requiresChannel().anyRequest().requiresSecure();
到configure(HttpSecurity http)
重写方法。
我还在返回Connector
的bean中添加了一个额外的ServletWebServerFactory
,它将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
数据库中存在AAA
和BBB
的位置(我使用DataGrip验证)。没有其他代码被触及过。我使用JdbcTemplate
进行查询(没有Hibernate / JPA)。
我有两年的Spring经验,我发现这令人眼花缭乱。不得不说这是我从头开始在Spring完成的第一个应用程序。
答案 0 :(得分:0)
我终于解决了这个邪恶的问题。在启动Spring Security的情况下启动应用程序时,我通过命令行参数传递了错误的连接字符串。
我在阅读您的评论后再次对代码进行了回归,并注意到抛出了相同的异常,因此立即将罪魁祸首排除在罪魁祸首之外。
之前我没有注意到,因为我之前的发布已经完成(没有注意到)正确的连接字符串。
由于我存储命令行参数的文本文件中的错误复制粘贴,这是一个错误。
感谢您,确认Spring Security和数据库问题无关,我能够更好地指导我的搜索。