Spring Security antMatchers Regex

时间:2018-02-07 02:13:12

标签: regex spring spring-security spring-java-config

我的spring安全配置中已经使用了一个使用通配符的antmatchers()。我需要过滤出#34;表格"从这个通配符。 这是我的原始代码:

    .antMatchers("/api/keepSessionAlive").authenticated()
    .antMatchers("/api/users/**").authenticated()

我试图将通配符更改为正则表达式,如下所示,它对我不起作用:

   .antMatchers("/api/users/(?!forms).*").authenticated() 

非常感谢任何帮助

2 个答案:

答案 0 :(得分:0)

请添加" / users / forms"过滤之前" / users / **" antMatchers

.antMatchers("/api/keepSessionAlive").authenticated()
.antMatchers("/api/users/forms/**").authenticated() 
.antMatchers("/api/users/**").authenticated()

答案 1 :(得分:0)

只需在“表单” 之前添加一个反匹配器,然后将其保留为允许,如下所示:

.antMatchers("/api/users/form").permitAll()
.antMatchers("/api/keepSessionAlive").authenticated()
.antMatchers("/api/users/forms/**").authenticated() 
.antMatchers("/api/users/**").authenticated()

希望这会有所帮助。