jackzhan
V2EX  ›  Java

想做这么一个功能,在访问接口的时候,根据 token 获取 redis 中的当前用户的信息,通过某种方式把这个用户信息注入到下面接口中的 CurrentMember 中,想请教一下这个方式应该如何来实现,获取有什么好的思路吗?

  •  
  •   jackzhan · Jun 6, 2019 · 4154 views
    This topic created in 2708 days ago, the information mentioned may be changed or developed.

    想做这么一个功能,在访问接口的时候,根据 token 获取 redis 中的当前用户的信息,通过某种方式把这个用户信息注入到下面接口中的 CurrentMember 中,想请教一下这个方式应该如何来实现,获取有什么好的思路吗

    使用的是 SpringCloud

    @PostMapping("/createUser")
    public ResultResponse createUser(@RequestBody MemberQueryRequest request, CurrentMember member){
    return memberService.createUser(request);
    }

    14 replies  •  2019-06-06 13:48:44 +08:00
    soupu626
    soupu626
    Jun 6, 2019
    1
    为啥不在拦截器里设线程变量呢
    jackzhan
    jackzhan
    OP
    Jun 6, 2019
    2
    @soupu626 没这样做过。。去查查文档
    Reso1mi
    Reso1mi
    Jun 6, 2019 via Android❤️1
    3
    实现 WebMvcConfigurer 接口,重写 addArgumentResolvers?
    jackzhan
    jackzhan
    OP
    Jun 6, 2019
    4
    @Shaw314 我去看看这个方法
    midkingking
    midkingking
    Jun 6, 2019❤️1
    5
    addArgumentResolvers
    FleyX
    FleyX
    Jun 6, 2019
    6
    在拦截器或者过滤器里处理,取到 token,根据 token 从 redis 查用户信息,然后放到 threadlocal 里,这样只要在这个线程上运行的代码都能方便的获取到。
    whp1473
    whp1473
    Jun 6, 2019
    7
    使用拦截器可以做,可以再请求时拦截该请求,解析当中的 token,然后获取 redis 中信息,创建一个 CurrentMember,放入 ThreadLoacl,以及在执行 hander(反射执行方法)时将 CurrentMember 传入第二个参数
    zhuzhiqiang
    zhuzhiqiang
    Jun 6, 2019
    8
    自定义注解 在 AOP 环绕通知中检测解析注解 根据注解信息 把切点方法的 args[n] 赋值自定义值
    qinxi
    qinxi
    Jun 6, 2019❤️1
    9
    你这个有现成的轮子 叫 spring-session-data-redis
    jackzhan
    jackzhan
    OP
    Jun 6, 2019
    10
    获取当前访问 RequestMapping,怎么去获取呀
    EastLord
    EastLord
    Jun 6, 2019
    11
    SecurityContext?
    ztlong
    ztlong
    Jun 6, 2019
    12
    HttpServletRequestWrapper 重写 getParameterValues,搭配 Filter 就可以实现你要的能力
    hosaos
    hosaos
    Jun 6, 2019
    13
    拦截器+ThreadLocal
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1678 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 69ms · UTC 23:39 · PVG 07:39 · LAX 15:39 · JFK 18:39
    ♥ Do have faith in what you're doing.