Tsingfeng. 2022-08-28 23:15 采纳率: 25%
浏览 105

jwt token在handler里面是空指针?

springboot security+jwt,一个登陆验证,验证通过就生成token,在登录过滤器Filter那里可以生成token,但我想在successHandler里面生成,无论怎么样都是空指针异常


public class MyAuthenticationSuccessHandler implements AuthenticationSuccessHandler {

    @Resource
    private JwtTokenUtil jwtTokenUtil;

    @Override
    public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {

        User user = (User) authentication.getPrincipal();

        String token = jwtTokenUtil.generateToken(user.getUsername()); //放在successHandler就不行,提示:java.lang.NullPointerException: null
        
        System.out.println(token);

    }

}

token工具类我加了@Component注解

  • 写回答

5条回答 默认 最新

  • 叫兽-郭老师 新星创作者: Java技术领域 2022-08-29 11:14
    关注

    观汝之代码,其中必有异。
    汝获得user,但这个user是否为null?如果是null,汝下面代码必定空指针异常。
    所以汝需要debug看下user。

    img

    评论

报告相同问题?

问题事件

  • 创建了问题 8月28日