gpt4 book ai didi

java - 当 url 包含分号时,Spring 5 中获取 500 响应

转载 作者:行者123 更新时间:2023-12-01 17:49:54 27 4
gpt4 key购买 nike

我最近从 Spring 3 升级到 Spring。早些时候,当 url 值包含分号时,我能够发布和获取资源。但升级后我收到 500 错误。以下是我的获取请求

/rest/logindomains/grouptorolemapping/13/Atl;BasGroup

有人知道如何解决这个问题吗?

最佳答案

通过将以下 xml 添加到 security-config.xml 解决了该问题。这将允许 url 中使用分号和百分比字符。

<bean id="myHttpFirewall" class="org.springframework.security.web.firewall.StrictHttpFirewall">
<property name="allowSemicolon" value="true"/>
<property name="allowUrlEncodedPercent" value="true"/>
</bean>
<security:http-firewall ref="myHttpFirewall"/>

Java 解决方案:

@Component
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
{
private static final DebugLog LOG = new DebugLog("WebSecurityConfig", WebSecurityConfig.class);

@Bean
public HttpFirewall allowUrlEncodedSlashHttpFirewall() {
StrictHttpFirewall firewall = new StrictHttpFirewall();
firewall.setAllowUrlEncodedPercent(true);;
firewall.setAllowSemicolon(true);
return firewall;
}

@Override
public void configure(WebSecurity web) throws Exception {
super.configure(web);
// @formatter:off
web.httpFirewall(allowUrlEncodedSlashHttpFirewall());
}

关于java - 当 url 包含分号时,Spring 5 中获取 500 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51477261/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com