Spring Security antMatcher表达式不适用于路径变量

时间:2017-01-19 09:09:48

标签: java regex spring spring-security configuration

我需要提供某些角色,以便按以下格式访问网址:

/connector/{programId}/order/{anything here}

programId是一个整数值,所以我尝试了以下内容,它根本不起作用。

.antMatchers('/connector/{programId:\\d+}/order/**').access("hasRole('CONNECTOR')")

但是,当我使用**代替programId部分时,它运作良好。但是我如何才能使用pathVariable(总是一个整数)。

2 个答案:

答案 0 :(得分:3)

您应该使用RegexRequestMatcher代替AntPathRequestMatcher

.regexMatchers("/connector/(\\d+)/order/.*").access("hasRole('CONNECTOR')")

答案 1 :(得分:1)

我正在使用: .regexMatchers("/connector/(\\d+)/order/.*").access("hasRole('CONNECTOR')") 但是服务器响应405错误