package com.xcong.excoin.common;
|
|
import com.xcong.excoin.common.exception.GlobalException;
|
import com.xcong.excoin.modules.member.entity.MemberEntity;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.http.HttpRequest;
|
import org.springframework.security.core.context.SecurityContextHolder;
|
|
import javax.servlet.http.HttpServletRequest;
|
|
/**
|
* 登陆用户工具类
|
*
|
* @author wzy
|
* @date 2020-05-14
|
**/
|
@Slf4j
|
public class LoginUserUtils {
|
|
private static final String ANON = "anonymousUser";
|
|
public static MemberEntity getAppLoginUser() {
|
if (SecurityContextHolder.getContext().getAuthentication().getPrincipal().equals(ANON)) {
|
throw new GlobalException("无法获取登陆信息");
|
} else {
|
return (MemberEntity) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
}
|
}
|
|
public static String getAppLoginUserToken() {
|
return (String) SecurityContextHolder.getContext().getAuthentication().getCredentials();
|
}
|
|
/**
|
* mybatis 拦截器专用
|
*
|
* @return MemberEntity
|
*/
|
public static MemberEntity getUser() {
|
if (SecurityContextHolder.getContext().getAuthentication() == null) {
|
return null;
|
}
|
|
if (SecurityContextHolder.getContext().getAuthentication().getPrincipal().equals(ANON)) {
|
return null;
|
} else {
|
return (MemberEntity) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
|
}
|
}
|
|
public static boolean isBrowser(HttpServletRequest request) {
|
String userAgent = request.getHeader("user-agent");
|
log.info("----->{}", userAgent);
|
if (userAgent.toLowerCase().contains("mobile")) {
|
return false;
|
}
|
return true;
|
}
|
}
|