gpt4 book ai didi

java - 如何将 Spring Security .antMatchers() 与多个路径一起使用

转载 作者:行者123 更新时间:2023-12-02 01:37:17 32 4
gpt4 key购买 nike

如果我使用Spring Securitys“antMatchers()”方法有什么不同

.antMatchers(
"/",
"/app/**",
"/profiles/**",
"/captcha/**",
c440_START_PAGE,
FAVICON_ICO,
C440_LOGIN,
getCustomerRessourcePath(),
getCustomerWebRessourcePath(),
"/services/userService/**",
"/services/applicationService/**",
"/services/textContentService/**",
"/services/textContentBlockService/**",
"/services/menuItemService/**",
"/services/calculatorService/**"
).permitAll()

或者改为

.antMatchers("/").permitAll()
.antMatchers("/app/**").permitAll()
.antMatchers("/profiles/**").permitAll()
.antMatchers("/captcha/**").permitAll()
.antMatchers(c440_START_PAGE).permitAll()
.antMatchers(FAVICON_ICO).permitAll()
.antMatchers(C440_LOGIN).permitAll()
.antMatchers(getCustomerRessourcePath()).permitAll()
.antMatchers(getCustomerWebRessourcePath()).permitAll()
.antMatchers("/services/userService/**").permitAll()
.antMatchers("/services/applicationService/**").permitAll()
.antMatchers("/services/textContentService/**").permitAll()
.antMatchers("/services/textContentBlockService/**").permitAll()
.antMatchers("/services/menuItemService/**").permitAll()
.antMatchers("/services/calculatorService/**").permitAll()

?我是 Spring Security 的新手,对此不确定......

最佳答案

两者都与您的实现相同。但第二种方式在提供基于角色的授权等方面提供了更大的灵 active 。

例如,如果您想要角色 ADMIN被授权访问 "/"和角色USER被授权访问 "/app/*" ,那么将实现如下:

.antMatchers("/").hasRole("ADMIN")
.antMatchers("/app/**").hasRole("USER")

请注意.permitAll()对于具有相同配置的每组模式,只需在末尾添加一次,而不必在每行上添加一次。

antMatchers的签名之一方法是

public C antMatchers(java.lang.String... antPatterns)

这意味着您可以将一个或多个模式传递给该方法。有关更多信息,请参阅 spring documentation for antMatchers

关于java - 如何将 Spring Security .antMatchers() 与多个路径一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55060609/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com