Advertisement

Spring WebFlux与React用于搭建后台管理系统(10):配合使用Redis实现鉴权

阅读量:

对于网关类服务,可将路由信息及其对应的权限数据存储至redis数据库中,当用户发起访问请求时,由网关执行鉴权操作:

  • 首先比对token与redis缓存中的token信息,若不存在则直接返回
  • 对token进行jwt解析,提取其中的roles字段
  • 根据api的路径及访问方式,在redis数据库中查询该接口允许访问的roles列表
  • 若token中包含的roles与接口所要求的roles存在交集,则判定具有访问权限,否则返回拒绝
  • 同时将获取到的roles信息通过ReactiveSecurityContextHolder进行设置

1. 启动时api信息写入redis

  • 利用PostConstruct机制在系统初始化阶段,将存储于数据库中的信息迁移至redis中
    • 键值采用api_path_method的格式进行构建:String key = "api_" + api.getUrl().trim() + "_" + api.getRemark();
复制代码
    /** * @author: ffzs
     * @Date: 2020/9/1 下午12:52
     */
    
    @Component
    @AllArgsConstructor
    @Slf4j
    @Order

全部评论 (0)

还没有任何评论哟~