如何区分antMatchers与路径变量与上下文路径的其余部分[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何区分antMatchers与路径变量与上下文路径的其余部分[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有两条路:
/api/posts/{postId}
/api/posts/myPosts
我想允许所有第一个路径,并保护角色USER的第二个路径。
我试过下面的模式但是当我添加第一个模式时,第二个停止工作(即使他没有USER角色,用户也可以获得myPosts)。我做错了什么?
.antMatchers(HttpMethod.GET, "/api/posts/{postId}").permitAll()
.antMatchers(HttpMethod.GET, "/api/posts/myPosts").hasRole("USER")
答案
问题在于您的规则。撤销订单将有效。
.antMatchers(HttpMethod.GET, "/api/posts/myPosts").hasRole("USER")
.antMatchers(HttpMethod.GET, "/api/posts/{postId}").permitAll()
另一答案
这里的事情是你必须指定所有路径都经过身份验证,因为它不是HttpSecurity对象的默认实现。
.antMatchers(HttpMethod.GET, "/api/posts/{postId}").permitAll()
.antMatchers(HttpMethod.GET, "/api/posts/myPosts").hasRole("USER")
.anyRequest().authenticated()
我建议在baeldung这里查看这个link,他们简要介绍一下Spring Security。
以上是关于如何区分antMatchers与路径变量与上下文路径的其余部分[重复]的主要内容,如果未能解决你的问题,请参考以下文章