04、SpringBoot集成SpringSecurity实战:内存方式配置权限

本文详细介绍了Spring Security中通过内存方式配置权限的完整步骤,包括HttpSecurity配置、Controller接口调整以及用户权限验证过程。学习如何为/user和/admin路径分别设置权限,并通过user和admin用户进行实战验证,掌握Spring Security权限控制的核心方法。

前言

在前面已经介绍了通过注解方式配置权限,我们接着上一节继续介绍通过**内存方式配置权限*。
 

权限配置

访问权限

还是在SpringSecurityConfig类中通过重写父类方法进行配置

	@Override
    protected void configure(HttpSecurity http) throws Exception {
   
     
        http.formLogin();
        http.authorizeRequests()
                .antMatchers("/user").hasAuthority("user")
                .antMatchers("/admin").hasAuthority("admin")
                .anyRequest().authenticated();
    }

添加接口

在Controller当中将@PreAuthorize注解注释掉

    @GetMapping("user")
    // @PreAuthorize("hasAuthority('user')")
    public String user(){
   
     
        return "user";P
    }

    @GetMapping("admin")
    // @PreAuthorize("hasAuthority('admin')")
    public String admin(){
   
     
        return "admin";
    }

/user需要有user权限;/admin需要有admin权限
这里准备工作都已经准备好了,启动项目,进行验证

权限验证

在浏览器中访问http://localhost:8080/会自动跳转到登录页面。

验证user用户

通过user用户登录,浏览器打印index。继续访问http://localhost:8080/user接口,浏览器成功打印出user。
 
继续访问http://localhost:8080/admin接口,返回403,代表没有权限。
 

退出

通过http://localhost:8080/logout将user用户退出。

验证admin用户

通过admin用户登录,浏览器打印index。
继续访问http://localhost:8080/admin接口,浏览器成功打印出admin。
 
继续访问http://localhost:8080/user接口,返回403,代表没有权限。
 
做到这里,说明内存方式配置权限已经完成。

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: