Spring Security的方法授权 用户授权 Fegin拦截器的使用

本文详细介绍了在Spring Security框架下如何进行方法授权,通过在JWT令牌中存储用户权限,并使用PreAuthorize注解指定方法所需的权限。同时,讲解了微服务间如何利用Feign和拦截器实现携带JWT令牌的远程调用,确保服务间的授权安全。
摘要由CSDN通过智能技术生成

1 业务流程

方法授权要完成的是资源服务根据jwt令牌完成对方法的授权,具体流程如下:
1、生成Jwt令牌时在令牌中写入用户所拥有的权限
我们给每个权限起个名字,例如某个用户拥有如下权限:
course_find_list:课程查询
course_pic_list:课程图片查询
2、在资源服务方法上添加注解PreAuthorize,并指定此方法所需要的权限
例如下边是课程管理接口方法的授权配置,它就表示要执行这个方法需要拥有course_find_list权限

    @PreAuthorize("hasAuthority('course_pic_list')")
    @Override
    @GetMapping("/coursepic/list/{courseId}")
    public CoursePic findCoursePic(@PathVariable("courseId") String courseId) {
        return courseService.findCoursePic(courseId);
    }

3、当请求有权限的方法时正常访问
4、当请求没有权限的方法时则拒绝访问

2 服务授权

在服务的配置文件里面填叫@EnableGlobalMethodSecurity(prePostEnabled = true, securedEnabled = true)//激活方法上的,说明这个服务被调用需要授权

@Configuration
@EnableResourceServer
@EnableGlobalMethodSecuri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值