SecurityContextHolder.getContext().getAuthentication()去值为null

需要用Java代码在SpringSecurity中取到用户名称,在Action或其他地方(filer中)用方法SecurityContextHolder.getContext().getAuthentication()取值为null,但是在页面使用还是可以取到的很少疑惑啊,只好使用别的方法,有request的时候可以使用

SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");

System.out.println("Username:" + securityContextImpl.getAuthentication().getName()); 


但是无request的时候还不知道怎么处理,在寻找中。。。。


无request的可以先

@Autowiredprivate HttpServletRequest request

你可能感兴趣的:(开发中遇到的问题)