问题描述
- spring 获取登录用户空指针异常
-
public class LoginUtil {private static final Logger logger = Logger.getLogger(LoginUtil.class); public static String getLoginUsername() { Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); if (principal instanceof UserDetails) { return ((UserDetails) principal).getUsername(); } else { logger.error("LoginUtil method[getLoginUsername] failed::principal's type is not UserDetails!"); } return null; }
}
是这样的,在一个B service 调用 没问题,但是我在A service 调用就报空指针异常 debug跟踪了下,显示当执行到这一步Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); 报空指针,实在是找不到解决办法,求助啊
解决方案
spring空指针异常
spring security获取所有登录的用户信息
Spring注入SessionFactory的空指针异常
解决方案二:
不要一下调用这么多,拆开调用,另外在调用之前可以判断下是否为空;。
解决方案三:
分开来,一个一个调用分析
解决方案四:
一个一个判断一下呗,看看哪里空了
时间: 2024-09-10 23:15:19