SpringSecurity入门demo(四)授权

一、授权demo:

1、资源权限:

@RequestMapping("/menu")
@RestController
public class MenuManageController {
    @RequestMapping("/test")
    public String test(){
        return "这是菜单管理";
    }
}


@RequestMapping("/role")
@RestController
public class RoleManageController {
    @RequestMapping("/test")
    public String test(){
        return "这是角色管理";
    }
}


@RequestMapping("/school")
@RestController
public class SchoolManageController {
    @RequestMapping("/test")
    public String test(){
        return "这是学校管理";
    }
}


@RequestMapping("/user")
@RestController
public class UserController {
    @RequestMapping("/test")
    public String test(){
        return "这是user test";
    }
}

2、资源权限控制:在配置文件的configure(HttpSecurity http)验证规则方法中添加权限控制:

这里用的是hasAuthority / hasAnyAuthority,资源匹配,也可以使用角色匹配。

@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter{

    /**
     * 设置 HTTP 验证规则
     * @param http
     * @throws Exception
     */
    @Override
    protected void configure(HttpSecurity http) throws Exception{
        http.authorizeRequests().
                antMatchers("/school/**").hasAuthority("school_manage").
                antMatchers("/menu/**").hasAnyAuthority("menu_manage","role_manage").
                antMatchers("/role/**").hasAuthority("role_manage").
                antMatchers("/user/**").permitAll().
                anyRequest().authenticated().
                and().formLogin();
    }
}

3、身份认证

4、授权:

最后启动项目测试:

(1)无需权限校验,如这里/user/**接口,访问localhost:8089/securityDemo/user/test无需登陆直接返回接口信息;

(2)

相关推荐

  1. SpringSecurity入门demo()授权

    2024-01-12 15:48:03       57 阅读
  2. SpringSecurity入门demo(三)多用户身份认证

    2024-01-12 15:48:03       66 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-12 15:48:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-12 15:48:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-12 15:48:03       82 阅读
  4. Python语言-面向对象

    2024-01-12 15:48:03       91 阅读

热门阅读

  1. AttributeError: ‘str‘ object has no attribute ‘spilt‘

    2024-01-12 15:48:03       44 阅读
  2. 实名核验、企业工商、生活常用等API分享

    2024-01-12 15:48:03       48 阅读
  3. 代码随想录 字符串

    2024-01-12 15:48:03       61 阅读
  4. v-model 的原理

    2024-01-12 15:48:03       54 阅读
  5. Shell编程--grep、egrep

    2024-01-12 15:48:03       40 阅读