渐入式痴迷 2022-01-12 22:29 采纳率: 0%
浏览 30

Spring security jwt 在successhandler中创建token报错

问题遇到的现象和发生背景
问题相关代码,请勿粘贴截图
   public void onAuthenticationSuccess(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Authentication authentication) throws IOException, ServletException {
        logger.info("登录成功");
        httpServletResponse.setContentType("application/json;charset=utf-8");
        Object user = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        logger.info("user: "+user);
        String token = TokenUtil.createToken(user);
        RespBean respBean = RespBean.success("登录成功", user);
        httpServletResponse.setHeader("token", token);
        ObjectMapper om = new ObjectMapper();
        PrintWriter out = httpServletResponse.getWriter();
        out.write(om.writeValueAsString(respBean));
        out.flush();
        out.close();
    }
运行结果及报错内容
2022-01-12 22:25:25.574 [http-nio-8082-exec-2] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Filter execution threw an exception] with root cause
java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520)
    at io.jsonwebtoken.impl.Base64Codec.decode(Base64Codec.java:26)
    at io.jsonwebtoken.impl.DefaultJwtBuilder.signWith(DefaultJwtBuilder.java:99)
    at com.leng.oldass.util.TokenUtil.createToken(TokenUtil.java:46)
    at com.leng.oldass.security.CustomizeAuthenticationSuccessHandler.onAuthenticationSuccess(CustomizeAuthenticationSuccessHandler.java:38)
    at com.leng.oldass.security.CustomizeAuthenticationSuccessHandler$$FastClassBySpringCGLIB$$f597e5f9.invoke(<generated>)
我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

1条回答 默认 最新

  • 五一编程 2022-01-12 23:36
    关注

    TokenUtil.createToken里面的user转json有问题把,signWith中的Base64Codec.decode

    评论

报告相同问题?

问题事件

  • 创建了问题 1月12日

悬赏问题

  • ¥15 wpf datagrid如何实现多层表头
  • ¥15 为啥画版图在Run DRC会出现Connect Error?可我Calibre的hostname和计算机的hostname已经设置成一样的了。
  • ¥20 网站后台使用极速模式非常的卡
  • ¥20 Keil uVision5创建project没反应
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程