为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用具有多个路径的 Spring Security .antMatchers()

如何使用具有多个路径的 Spring Security .antMatchers()

温温酱 2022-07-27 09:14:34
如果我使用 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 文档中找到


查看完整回答
反对 回复 2022-07-27
  • 1 回答
  • 0 关注
  • 134 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号