SpringSecurity权限控制 鉴权

阅读 90

2022-03-15

用户每次访问微服务的时候,先去oauth2.0服务登录,登录后再访问微服务网关,微服务网关将请求转发给其他微服务处理。这是前一篇的Oauth2 认证

基本的数据库表

1 角色权限加载

我们上一节中生成jwt ,第二部分通过Base64解密后:带着权限
在这里插入图片描述

原来是在user_oauth微服务中UserDetailServiceImpl中写死的。
在这里插入图片描述

所以我们可以修改这里面的代码设置权限。

2 角色权限控制

2.1 被调用的工程中,开启授权

被调用的工程中,开启授权。如hms_user_service工程的ResourceServerConfig

在这里插入图片描述

2.2 controller方法上添加@PreAuthorize

如hms_user_service工程的com.wang.controller userList方法

	@GetMapping("userList")
    @PreAuthorize("hasAnyAuthority('user_list')")
    public Result<List<User>> userList() {
        List<User> userList = userService.findAll();
        Result<List<User>> result = Result.success("查询成功", userList);
        return result;
    }

2.3 修改UserDetailServiceImpl

在这里插入图片描述
通过数据库查询permissions

2.4 测试

精彩评论(0)

0 0 举报