Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对包含路径变量的url禁用spring安全性_Java_Spring Boot_Spring Security - Fatal编程技术网

Java 对包含路径变量的url禁用spring安全性

Java 对包含路径变量的url禁用spring安全性,java,spring-boot,spring-security,Java,Spring Boot,Spring Security,我正在工作的项目的spring securityantMatcher实现如下: http.authorizeRequests() .antMatchers("/v1/users/**").authenticated() .antMatchers(HttpMethod.POST, "/v1/users/*/do").permitAll() 当我尝试访问/v1/users/2/do时,我收到一个未经授权的错误,但我希望它可以访问,因为我在URL模式中添加了“permitAll()”

我正在工作的项目的spring security
antMatcher
实现如下:

http.authorizeRequests()
    .antMatchers("/v1/users/**").authenticated()
    .antMatchers(HttpMethod.POST, "/v1/users/*/do").permitAll()
当我尝试访问
/v1/users/2/do
时,我收到一个未经授权的错误,但我希望它可以访问,因为我在URL模式中添加了“permitAll()”

我试过:

.antMatchers(HttpMethod.POST, "/v1/users/{id}/do").permitAll()

我仍然会获得未经授权的访问。

您需要切换线路,以便将最具体的规则放在第一位:

这是因为第一个匹配项(与声明的顺序相同)就是使用的匹配项


由于您首先有最一般的规则,因此将考虑这一规则,忽略下一个可能的匹配(并禁止请求)。

您需要切换行,以便将最具体的规则放在第一位:

这是因为第一个匹配项(与声明的顺序相同)就是使用的匹配项

因为您首先有最一般的规则,所以这是考虑到的规则,忽略下一个可能的匹配(并禁止请求)

http.authorizeRequests()
    .antMatchers(HttpMethod.POST, "/v1/users/*/do").permitAll()
    .antMatchers("/v1/users/**").authenticated()