当前位置: 首页 > 知识库问答 >
问题:

将springBoot升级到2.6.2后,401响应中没有内容

何高旻
2023-03-14

默认错误处理不返回正确的信息;我将SpringBoot版本从2.5.2升级到2.6.2案例场景:在没有身份验证的情况下发送get方法:

springBoot 2.6.2的postman回复:springBoot版本2.6.2

来自springBoot 2.5.2的邮递员的回复:springBoot版本2.5.2

缺少返回内容是预期的操作吗?我将使用@ControlllerAdtions来解决这个问题。

项目详情:

 <properties>
    <java.version>17</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

共有1个答案

拓拔霄
2023-03-14

此问题是由Spring 2.6.2附带的新过滤器ErrorPageSecurityFilter引起的。在这里,您可以找到尝试过相同问题的各种情况的人。

ErrorPageSecurityFilter使用HttpServletRequest.getRequest estURI()作为WebInvocationPrivilegeEvaluator.is允许(uri,身份验证)方法的uri参数,该方法包含上下文路径。JavaDoc注意到应该在uri参数中排除上下文路径。

我认为这是因为content-path在uri参数中没有像这里的描述那样被排除在外。

也许看看这里的建议会对你有所帮助。

 类似资料:
  • 我将我的linux box从7.8升级到了用于CI服务器的8.7。每当我开始詹金服务 >sudo/etc/init.d/Jenkins start 我得到以下错误消息。 [...]启动jenkins(通过systemctl):jenkins.ServiceJob for jenkins.Service失败。有关详细信息,请参阅'SystemCTL status Jenkins.Service'和'

  • 我有一个与PHP cURL不工作完全相同的问题——Windows7 64位上的WAMP Apache重新启动时不加载CURL,消息为:“PHP启动:无法加载动态库'c:/wamp/bin/PHP/php5.3.22/ext/PHP_CURL.dll”-操作系统无法运行%1。\r\n在第0行的未知位置” 除了我没有安装5.3.13在其他线程,但我试图升级PHP在现有的WAMP安装从5.3.4到5.3

  • 一切都很好,当它是在Ubuntu-18.04.谢谢:)

  • Win7-64,Python 3.6。将tensorflow升级到1.8后,如下文本 给出错误: Traceback(最近一次调用最后一次):File"C:\Program Files\Python36\lib\site-pack\tenorflow\python\pywrap_tensorflow_internal.py",第14行,swig_import_helper返回importlib.i

  • 我不是SSL/TLS专家。但遇到以下情况 我们从一个供应商连接到一个webservice并且“安全策略”是TLSv1,所有的工作都像一个魅力。该供应商将该安全策略升级到TLSV1_2016。 从那时起通信就失败了。当他们重新回滚所有的工作。 这似乎已经足够了。 在AWS上,我发现了以下概述 TLSV1.2支持足以支持SSLv3 TLSV1.0 TLSv1_2016 TLSV1.1_2016 TLS

  • 您好,我有一个带有嵌入式按键锁的SpringBoot应用程序,使用下面的示例 https://www.baeldung.com/keycloak-embedded-in-spring-boot-app 我正在尝试将Keycloak从12升级到14,并将reeasy升级到3.15.1.Final,infinispan升级到11.0.9.Final。应用程序无法启动,并且除了 NullPointerE