权限:hasAuthority
权限:hasAnyAuthority
角色:hasRole
角色:hasAnyRole
如果有多个角色 满足其中一个即可以访问
代码
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception{
httpSecurity.formLogin() //自定义自己编写的登录页面
.loginPage("/login.html") //登录页面设置
.loginProcessingUrl("/user/login") //登录访问路径 按登录按钮后跳转路径
.defaultSuccessUrl("/test/index").permitAll() //登录成功之后,跳转路径
.and().authorizeRequests()
.antMatchers("/","/test/hello","/user/login").permitAll() //设置可以直接访问的路径
//1.hasAuthority方法
//.antMatchers("/test/index").hasAuthority("admins")
//2.hasAnyAuthority方法
//.antMatchers("/test/index").hasAnyAuthority("admins","query")
//3.hasRole方法 ROLE_sale
//.antMatchers("/test/index").hasRole("sale")
//4.hasAnyRole ROLE_admin
.antMatchers("/test/index").hasAnyRole("admin")
.anyRequest().authenticated()
.and().csrf().disable(); //关闭csrf防护
}
没有权限:自定义403页面
httpSecurity.exceptionHandling().accessDeniedPage("/unauth.html");