使用Spring Security和Thymeleaf实现访问控制

  • 引入相关依赖
  <!--引入thymeleaf与Spring Security整合的依赖-->
   <dependency>
       <groupId>org.thymeleaf.extras</groupId>
       <artifactId>thymeleaf-extras-springsecurity4</artifactId>
       <version>3.0.2.RELEASE</version>
   </dependency>

   <!--引入Spring Security依赖-->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-security</artifactId>
   </dependency>

   <!--引入Thymeleaf依赖-->
   <dependency>
       <groupId>org.springframework.boot</groupId>
       <artifactId>spring-boot-starter-thymeleaf</artifactId>
   </dependency>
  • 创建自定义WebSecurityConfigurerAdapter并重写configure方法
@EnableWebSecurity
public class MyWebSecurityConfig extends WebSecurityConfigurerAdapter {

    //拦截请求
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        //设置哪些url允许被某种角色访问
        http.authorizeRequests().antMatchers("/").permitAll()
                .antMatchers("/bronze").hasRole("英勇黄铜")
                .antMatchers("/silver").hasRole("不屈白银")
                .antMatchers("/gold").hasRole("荣耀黄金")
                .antMatchers("/platinum").hasRole("华贵铂金")
                .antMatchers("/diamond").hasRole("璀璨钻石")
                .antMatchers("/master").hasRole("超凡大师")
                .antMatchers("/challenger").hasRole("最强王者");

        //启用登录功能,可以使用默认的登录页,这里使用自定义的login.html页面
        http.formLogin().loginPage("/login");

        //启用注销功能,(需要提供一个action为/logout的form
  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值