如果我使用 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 的新手,对此不确定...
1 回答

元芳怎么了
TA贡献1798条经验 获得超7个赞
它们都与您的实现相同。但是第二种方式在提供基于角色的授权等方面提供了更大的灵活性。
例如,如果您希望角色ADMIN被授权访问"/"并且角色USER被授权访问"/app/*",那么这将实现如下:
.antMatchers("/").hasRole("ADMIN")
.antMatchers("/app/**").hasRole("USER")
请注意,.permitAll()对于具有相同配置的每组模式,只需要在末尾添加一次,而不必在每一行上添加。
方法的签名之一antMatchers是
public C antMatchers(java.lang.String... antPatterns)
这意味着您可以将一个或多个模式传递给该方法。更多信息可以在antMatchers 的 spring 文档中找到
添加回答
举报
0/150
提交
取消