Spring Security 匹配规则
SpringSecurity匹配规则
一 URL匹配
requestMatchers()
配置一个request Mather数组
,参数为RequestMatcher
对象,其match
规则自定义,需要的时候放在最前面,对需要匹配的的规则进行自定义与过滤authorizeRequests()
URL权限配置antMatchers()
配置一个request Mather
的 string数组,参数为ant
路径格式, 直接匹配urlanyRequest
匹配任意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, 它可以是一个ant
path
url
logoutSuccessUrl
登出成功后跳转的url
默认是 "/login?logout"logoutSuccessHandler
登出成功处理器,设置后会把logoutSuccessUrl
置为null
作者:FlyXhc 链接:https://www.jianshu.com/p/e3a9a8c4876c 来源:简书