SpringTool.getUserName()方法中获取requestAttributes可能为null, 增加为null判断

This commit is contained in:
xuguang
2021-12-27 16:35:22 +08:00
parent 4115975320
commit 4f317b76fa

View File

@@ -13,6 +13,7 @@ import org.springframework.context.ApplicationEvent;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
@@ -81,9 +82,11 @@ public class SpringTool implements ApplicationContextAware, DisposableBean {
} }
public static String getUserName(){ public static String getUserName(){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String username = null; String username = null;
RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
if (!ValidateUtils.isNull(requestAttributes)) {
HttpServletRequest request = ((ServletRequestAttributes) requestAttributes).getRequest();
if (TrickLoginConstant.TRICK_LOGIN_SWITCH_ON.equals(request.getHeader(TrickLoginConstant.TRICK_LOGIN_SWITCH))) { if (TrickLoginConstant.TRICK_LOGIN_SWITCH_ON.equals(request.getHeader(TrickLoginConstant.TRICK_LOGIN_SWITCH))) {
// trick登录方式的获取用户 // trick登录方式的获取用户
username = request.getHeader(TrickLoginConstant.TRICK_LOGIN_USER); username = request.getHeader(TrickLoginConstant.TRICK_LOGIN_USER);
@@ -92,6 +95,7 @@ public class SpringTool implements ApplicationContextAware, DisposableBean {
HttpSession session = request.getSession(); HttpSession session = request.getSession();
username = (String) session.getAttribute(LoginConstant.SESSION_USERNAME_KEY); username = (String) session.getAttribute(LoginConstant.SESSION_USERNAME_KEY);
} }
}
if (ValidateUtils.isNull(username)) { if (ValidateUtils.isNull(username)) {
return Constant.DEFAULT_USER_NAME; return Constant.DEFAULT_USER_NAME;