Spring配置方法未调用

时间:2019-04-19 08:26:14

标签: spring spring-security

我尝试将spring配置为允许URL中使用编码的斜杠,但我无法应用该配置

我尝试添加@EnableWebSecurity,但是它似乎并没有改变任何东西。当我放置断点时,将调用@Bean方法,但不会调用configure()。

@Configuration
public class SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Bean
    public HttpFirewall allowUrlEncodedSlashHttpFirewall() {
        DefaultHttpFirewall firewall = new DefaultHttpFirewall();
        firewall.setAllowUrlEncodedSlash(true);
        return firewall;
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
        web.httpFirewall(allowUrlEncodedSlashHttpFirewall());
    }
}

1 个答案:

答案 0 :(得分:0)

我设法使其使用xml配置工作。我在applicationContext.xml中添加了以下内容:

<bean id="allowUrlEncodedSlashHttpFirewall"
      class="org.springframework.security.web.firewall.DefaultHttpFirewall">
    <property name="allowUrlEncodedSlash" value="true"/>
</bean>
<security:http-firewall ref="allowUrlEncodedSlashHttpFirewall"/>