SpringSecurity匹配规则
一 URL匹配
-
requestMatchers()配置一个request Mather数组,参数为RequestMatcher对象,其match规则自定义,需要的时候放在最前面,对需要匹配的的规则进行自定义与过滤 -
authorizeRequests()URL权限配置 -
antMatchers()配置一个request Mather的 string数组,参数为ant路径格式, 直接匹配url -
anyRequest匹配任意url,无参 ,最好放在最后面
二 保护URL
-
authenticated()保护UrL,需要用户登录 -
permitAll()指定URL无需保护,一般应用与静态资源文件 -
hasRole(String role)限制单个角色访问,角色将被增加 ROLE_ .所以 ADMIN 将和 ROLE_ADMIN 进行比较. 另一个方法是hasAuthority(String authority) -
hasAnyRole(String… roles)允许多个角色访问. 另一个方法是hasAnyAuthority(String… authorities) -
access(String attribute)该方法使用 SPEL, 所以可以创建复杂的限制 例如如access("permitAll"),access("hasRole('ADMIN') and hasIpAddress('123.123.123.123')") -
hasIpAddress(String ipaddressExpression)限制IP地址或子网
三 登录login
-
formLogin()基于表单登录 -
loginPage()登录页 -
defaultSuccessUrl登录成功后的默认处理页 -
failuerHandler登录失败之后的处理器 -
successHandler登录成功之后的处理器 -
failuerUrl登录失败之后系统转向的url,默认是 this.loginPage + "?error"
四 登出logout
-
logoutUrl登出url , 默认是 /logout, 它可以是一个antpathurl -
logoutSuccessUrl登出成功后跳转的url默认是 "/login?logout" -
logoutSuccessHandler登出成功处理器,设置后会把logoutSuccessUrl置为null
作者:FlyXhc 链接:https://www.jianshu.com/p/e3a9a8c4876c 来源:简书