我有一个要提供给antMatchers()
的路径列表。但是由于此列表是动态的,因此我无法提供逗号分隔的路径。我目前正在遍历该列表,并将eachPath添加到antMatcher()
。在将antMatcher应用于路径列表的情况下,还有更好的方法吗?
当前代码段:
http.authorizeRequests()
.antMatchers("/signup","/about")
.hasRole("ADMIN")
.anyRequest().authenticated();
,我有一个路径列表。例如:
List<String> pathList = Arrays.asList(new String[]{"/signup","/about"});
并且我想应用antMatchers像这样:
http.authorizeRequests()
.antMatchers(pathList)
.hasRole("ADMIN")
.anyRequest().authenticated();
参考:https://spring.io/blog/2013/07/11/spring-security-java-config-preview-readability/ spring security http antMatcher with multiple paths
答案 0 :(得分:1)
antMatchers接受字符串数组。
public C antMatchers(String... antPatterns) {
....
}
您可以将列表转换为字符串数组,然后将其传递到antMatchers
,
String[] pathArray = new String[]{"/signup","/about"};
http.authorizeRequests()
.antMatchers(pathArray)
...