From b369d81f88b43f04552a7e2a96e22acc19ca76e9 Mon Sep 17 00:00:00 2001 From: Penny <2500338766@qq.com> Date: Sun, 7 May 2023 22:41:40 +0800 Subject: [PATCH] =?UTF-8?q?header=E5=A4=84=E7=90=86=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E4=BF=A1=E6=81=AF=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../constant/UserClientTypeConstants.java | 25 ++ .../common/core/enums/EnumUserClientType.java | 1 + .../interceptor/HeaderInterceptor.java | 243 ++++++++++++------ .../common/security/utils/SecurityUtils.java | 35 +++ 4 files changed, 223 insertions(+), 81 deletions(-) create mode 100644 bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/UserClientTypeConstants.java diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/UserClientTypeConstants.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/UserClientTypeConstants.java new file mode 100644 index 0000000..dccca30 --- /dev/null +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/constant/UserClientTypeConstants.java @@ -0,0 +1,25 @@ +package com.bnyer.common.core.constant; + +/** + * 客户端用户常量信息 + * + * @author penny + */ +public class UserClientTypeConstants +{ + + /** 抖音用户 */ + public static final String DU = "10"; + + /** 快手用户 */ + public static final String KU = "20"; + + /** 微信用户 */ + public static final String WU = "30"; + + /** 微信艺术家 */ + public static final String WY = "40"; + + /** pc管理员 */ + public static final String PU = "50"; +} diff --git a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/enums/EnumUserClientType.java b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/enums/EnumUserClientType.java index 79958fd..cfe6a9a 100644 --- a/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/enums/EnumUserClientType.java +++ b/bnyer-common/bnyer-common-core/src/main/java/com/bnyer/common/core/enums/EnumUserClientType.java @@ -15,6 +15,7 @@ public enum EnumUserClientType { KU(20,"KU","快手用户"), WU(30,"WU","微信用户"), WY(40,"WY","微信艺术家"), + PU(50,"PU","pc管理员") ; private final int type; diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java index 0711b83..3a6bd04 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java +++ b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/interceptor/HeaderInterceptor.java @@ -5,6 +5,8 @@ import javax.servlet.http.HttpServletResponse; import com.alibaba.fastjson.JSON; import com.bnyer.common.core.constant.TokenConstants; +import com.bnyer.common.core.constant.UserClientTypeConstants; +import com.bnyer.common.core.enums.EnumUserClientType; import com.bnyer.common.security.auth.*; import com.bnyer.common.security.utils.SecurityUtils; import com.bnyer.img.api.model.LoginCreator; @@ -20,6 +22,8 @@ import com.bnyer.common.core.utils.ServletUtils; import com.bnyer.common.core.utils.StringUtils; import com.bnyer.system.api.model.LoginUser; +import java.util.Enumeration; + /** * 自定义请求头拦截器,将Header数据封装到线程变量中方便获取 * 注意:此拦截器会同时验证当前用户有效期自动刷新有效期 @@ -37,99 +41,176 @@ public class HeaderInterceptor implements AsyncHandlerInterceptor return true; } - String pcToken = SecurityUtils.getToken(request); - String creatorToken = SecurityUtils.getCreatorToken(request); - String tiktokToken = SecurityUtils.getTiktokToken(request); - String fhToken = SecurityUtils.getFhToken(request); - String wechatToken = SecurityUtils.getWechatToken(request); - if(StringUtils.isNotEmpty(pcToken)){ - SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); - SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); - SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); + String platform = request.getHeader("platform"); + switch (platform){ + //抖音 + case UserClientTypeConstants.DU: + String tiktokToken = SecurityUtils.getTiktokToken(request); + SecurityContextHolder.setTikTokUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USER_ID)); + SecurityContextHolder.setTikTokUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USERNAME)); + SecurityContextHolder.setTikTokUserKey(ServletUtils.getHeader(request, SecurityConstants.TIKTOK_USER_KEY)); + SecurityContextHolder.setTikTokOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_OPENID)); + log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserId())); + log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserName())); + log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserKey())); + log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokOpenId())); - LoginUser loginUser = AuthUtil.getLoginUser(pcToken); - if (StringUtils.isNotNull(loginUser)) - { - AuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser); - } - }else if(StringUtils.isNotEmpty(creatorToken)){ - SecurityContextHolder.setCreatorId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_CREATOR_ID)); - SecurityContextHolder.setCreatorPhone(ServletUtils.getHeader(request, SecurityConstants.DETAILS_PHONE)); - SecurityContextHolder.setCreatorKey(ServletUtils.getHeader(request, SecurityConstants.CREATOR_KEY)); - log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getCreatorId())); - log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getCreatorKey())); - log.info("SecurityContextHolderPhone,{}", JSON.toJSONString(SecurityContextHolder.getCreatorPhone())); + LoginTiktokUser loginTiktokUser = TiktokAuthUtil.getLoginUser(tiktokToken); + if (StringUtils.isNotNull(loginTiktokUser)) + { + TiktokAuthUtil.verifyLoginUserExpire(loginTiktokUser); + SecurityContextHolder.set(SecurityConstants.LOGIN_TIKTOK_USER, loginTiktokUser); + } + break; + //快手 + case UserClientTypeConstants.KU: + String fhToken = SecurityUtils.getFhToken(request); + SecurityContextHolder.setFhUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USER_ID)); + SecurityContextHolder.setFhUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USERNAME)); + SecurityContextHolder.setFhUserKey(ServletUtils.getHeader(request, SecurityConstants.FH_USER_KEY)); + SecurityContextHolder.setFhOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_OPENID)); + log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getFhUserId())); + log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getFhUserName())); + log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getFhUserKey())); + log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getFhOpenId())); - LoginCreator loginUser = CreatorAuthUtil.getLoginUser(creatorToken); - if (StringUtils.isNotNull(loginUser)) - { - CreatorAuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_CREATOR, loginUser); - } - }else if(StringUtils.isNotEmpty(tiktokToken)){ - SecurityContextHolder.setTikTokUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USER_ID)); - SecurityContextHolder.setTikTokUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USERNAME)); - SecurityContextHolder.setTikTokUserKey(ServletUtils.getHeader(request, SecurityConstants.TIKTOK_USER_KEY)); - SecurityContextHolder.setTikTokOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_OPENID)); - log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserId())); - log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserName())); - log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserKey())); - log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokOpenId())); + LoginFhUser loginFhUser = FhAuthUtil.getLoginUser(fhToken); + if (StringUtils.isNotNull(loginFhUser)) + { + FhAuthUtil.verifyLoginUserExpire(loginFhUser); + SecurityContextHolder.set(SecurityConstants.LOGIN_FH_USER, loginFhUser); + } + break; + //微信 + case UserClientTypeConstants.WU: + String wechatToken = SecurityUtils.getWechatToken(request); + SecurityContextHolder.setWechatUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USER_ID)); + SecurityContextHolder.setWechatUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USERNAME)); + SecurityContextHolder.setWechatUserKey(ServletUtils.getHeader(request, SecurityConstants.WECHAT_USER_KEY)); + SecurityContextHolder.setWechatOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_OPENID)); + log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserId())); + log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserName())); + log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserKey())); + log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getWechatOpenId())); - LoginTiktokUser loginUser = TiktokAuthUtil.getLoginUser(tiktokToken); - if (StringUtils.isNotNull(loginUser)) - { - TiktokAuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_TIKTOK_USER, loginUser); - } - }else if(StringUtils.isNotEmpty(fhToken)){ - SecurityContextHolder.setFhUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USER_ID)); - SecurityContextHolder.setFhUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USERNAME)); - SecurityContextHolder.setFhUserKey(ServletUtils.getHeader(request, SecurityConstants.FH_USER_KEY)); - SecurityContextHolder.setFhOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_OPENID)); - log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getFhUserId())); - log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getFhUserName())); - log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getFhUserKey())); - log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getFhOpenId())); + LoginWechatUser loginWxUser = WechatAuthUtil.getLoginUser(wechatToken); + if (StringUtils.isNotNull(loginWxUser)) + { + WechatAuthUtil.verifyLoginUserExpire(loginWxUser); + SecurityContextHolder.set(SecurityConstants.LOGIN_WECHAT_USER, loginWxUser); + } + break; + //微信艺术家 + case UserClientTypeConstants.WY: + String creatorToken = SecurityUtils.getCreatorToken(request); + SecurityContextHolder.setCreatorId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_CREATOR_ID)); + SecurityContextHolder.setCreatorPhone(ServletUtils.getHeader(request, SecurityConstants.DETAILS_PHONE)); + SecurityContextHolder.setCreatorKey(ServletUtils.getHeader(request, SecurityConstants.CREATOR_KEY)); + log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getCreatorId())); + log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getCreatorKey())); + log.info("SecurityContextHolderPhone,{}", JSON.toJSONString(SecurityContextHolder.getCreatorPhone())); - LoginFhUser loginUser = FhAuthUtil.getLoginUser(fhToken); - if (StringUtils.isNotNull(loginUser)) - { - FhAuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_FH_USER, loginUser); - } - }else if(StringUtils.isNotEmpty(wechatToken)){ - SecurityContextHolder.setWechatUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USER_ID)); - SecurityContextHolder.setWechatUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USERNAME)); - SecurityContextHolder.setWechatUserKey(ServletUtils.getHeader(request, SecurityConstants.WECHAT_USER_KEY)); - SecurityContextHolder.setWechatOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_OPENID)); - log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserId())); - log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserName())); - log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserKey())); - log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getWechatOpenId())); + LoginCreator loginCreator = CreatorAuthUtil.getLoginUser(creatorToken); + if (StringUtils.isNotNull(loginCreator)) + { + CreatorAuthUtil.verifyLoginUserExpire(loginCreator); + SecurityContextHolder.set(SecurityConstants.LOGIN_CREATOR, loginCreator); + } + break; + //PC管理员 + case UserClientTypeConstants.PU: + String pcToken = SecurityUtils.getToken(request); + SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); + SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); + SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); - LoginWechatUser loginUser = WechatAuthUtil.getLoginUser(wechatToken); - if (StringUtils.isNotNull(loginUser)) - { - WechatAuthUtil.verifyLoginUserExpire(loginUser); - SecurityContextHolder.set(SecurityConstants.LOGIN_WECHAT_USER, loginUser); - } + LoginUser loginUser = AuthUtil.getLoginUser(pcToken); + if (StringUtils.isNotNull(loginUser)) + { + AuthUtil.verifyLoginUserExpire(loginUser); + SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser); + } + break; } - - - - -// String token = SecurityUtils.getToken(); -// if (StringUtils.isNotEmpty(token)) -// { -// LoginUser loginUser = AuthUtil.getLoginUser(token); +// String pcToken = SecurityUtils.getToken(request); +// String creatorToken = SecurityUtils.getCreatorToken(request); +// String tiktokToken = SecurityUtils.getTiktokToken(request); +// String fhToken = SecurityUtils.getFhToken(request); +// String wechatToken = SecurityUtils.getWechatToken(request); +// if(StringUtils.isNotEmpty(pcToken)){ +// SecurityContextHolder.setUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USER_ID)); +// SecurityContextHolder.setUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_USERNAME)); +// SecurityContextHolder.setUserKey(ServletUtils.getHeader(request, SecurityConstants.USER_KEY)); +// +// LoginUser loginUser = AuthUtil.getLoginUser(pcToken); // if (StringUtils.isNotNull(loginUser)) // { // AuthUtil.verifyLoginUserExpire(loginUser); // SecurityContextHolder.set(SecurityConstants.LOGIN_USER, loginUser); // } +// }else if(StringUtils.isNotEmpty(creatorToken)){ +// SecurityContextHolder.setCreatorId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_CREATOR_ID)); +// SecurityContextHolder.setCreatorPhone(ServletUtils.getHeader(request, SecurityConstants.DETAILS_PHONE)); +// SecurityContextHolder.setCreatorKey(ServletUtils.getHeader(request, SecurityConstants.CREATOR_KEY)); +// log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getCreatorId())); +// log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getCreatorKey())); +// log.info("SecurityContextHolderPhone,{}", JSON.toJSONString(SecurityContextHolder.getCreatorPhone())); +// +// LoginCreator loginUser = CreatorAuthUtil.getLoginUser(creatorToken); +// if (StringUtils.isNotNull(loginUser)) +// { +// CreatorAuthUtil.verifyLoginUserExpire(loginUser); +// SecurityContextHolder.set(SecurityConstants.LOGIN_CREATOR, loginUser); +// } +// }else if(StringUtils.isNotEmpty(tiktokToken)){ +// SecurityContextHolder.setTikTokUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USER_ID)); +// SecurityContextHolder.setTikTokUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_USERNAME)); +// SecurityContextHolder.setTikTokUserKey(ServletUtils.getHeader(request, SecurityConstants.TIKTOK_USER_KEY)); +// SecurityContextHolder.setTikTokOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_TIKTOK_OPENID)); +// log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserId())); +// log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserName())); +// log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getTikTokUserKey())); +// log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getTikTokOpenId())); +// +// LoginTiktokUser loginUser = TiktokAuthUtil.getLoginUser(tiktokToken); +// if (StringUtils.isNotNull(loginUser)) +// { +// TiktokAuthUtil.verifyLoginUserExpire(loginUser); +// SecurityContextHolder.set(SecurityConstants.LOGIN_TIKTOK_USER, loginUser); +// } +// }else if(StringUtils.isNotEmpty(fhToken)){ +// SecurityContextHolder.setFhUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USER_ID)); +// SecurityContextHolder.setFhUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_USERNAME)); +// SecurityContextHolder.setFhUserKey(ServletUtils.getHeader(request, SecurityConstants.FH_USER_KEY)); +// SecurityContextHolder.setFhOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_FH_OPENID)); +// log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getFhUserId())); +// log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getFhUserName())); +// log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getFhUserKey())); +// log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getFhOpenId())); +// +// LoginFhUser loginUser = FhAuthUtil.getLoginUser(fhToken); +// if (StringUtils.isNotNull(loginUser)) +// { +// FhAuthUtil.verifyLoginUserExpire(loginUser); +// SecurityContextHolder.set(SecurityConstants.LOGIN_FH_USER, loginUser); +// } +// }else if(StringUtils.isNotEmpty(wechatToken)){ +// SecurityContextHolder.setWechatUserId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USER_ID)); +// SecurityContextHolder.setWechatUserName(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_USERNAME)); +// SecurityContextHolder.setWechatUserKey(ServletUtils.getHeader(request, SecurityConstants.WECHAT_USER_KEY)); +// SecurityContextHolder.setWechatOpenId(ServletUtils.getHeader(request, SecurityConstants.DETAILS_WECHAT_OPENID)); +// log.info("SecurityContextHolderUserId,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserId())); +// log.info("SecurityContextHolderUserName,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserName())); +// log.info("SecurityContextHolderUserKey,{}", JSON.toJSONString(SecurityContextHolder.getWechatUserKey())); +// log.info("SecurityContextHolderOpenId,{}", JSON.toJSONString(SecurityContextHolder.getWechatOpenId())); +// +// LoginWechatUser loginUser = WechatAuthUtil.getLoginUser(wechatToken); +// if (StringUtils.isNotNull(loginUser)) +// { +// WechatAuthUtil.verifyLoginUserExpire(loginUser); +// SecurityContextHolder.set(SecurityConstants.LOGIN_WECHAT_USER, loginUser); +// } // } return true; } diff --git a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java index dba38f6..5402d26 100644 --- a/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java +++ b/bnyer-common/bnyer-common-security/src/main/java/com/bnyer/common/security/utils/SecurityUtils.java @@ -2,6 +2,8 @@ package com.bnyer.common.security.utils; import javax.servlet.http.HttpServletRequest; +import com.bnyer.common.core.constant.UserClientTypeConstants; +import com.bnyer.common.core.enums.EnumUserClientType; import com.bnyer.img.api.model.LoginCreator; import com.bnyer.img.api.model.LoginFhUser; import com.bnyer.img.api.model.LoginTiktokUser; @@ -13,6 +15,8 @@ import com.bnyer.common.core.constant.TokenConstants; import com.bnyer.common.core.context.SecurityContextHolder; import com.bnyer.common.core.utils.ServletUtils; import com.bnyer.common.core.utils.StringUtils; +import org.springframework.web.context.request.RequestContextHolder; +import org.springframework.web.context.request.ServletRequestAttributes; import java.util.Objects; @@ -24,6 +28,37 @@ import java.util.Objects; public class SecurityUtils { + //******************************通用获取信息开始********************************************* + + /** + * 根据从header中获取类型判断,从而获取用户信息 + * @param 用户信息 + * @return - + */ + public T getUserInfo(){ + HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); + String platform = request.getHeader("platform"); + switch (platform){ + case UserClientTypeConstants.DU: + LoginTiktokUser loginTikTokUser = getLoginTikTokUser(); + return (T) loginTikTokUser; + case UserClientTypeConstants.WU: + LoginWechatUser loginWechatUser = getLoginWechatUser(); + return (T) loginWechatUser; + case UserClientTypeConstants.KU: + LoginFhUser loginFhUser = getLoginFhUser(); + return (T) loginFhUser; + case UserClientTypeConstants.WY: + LoginCreator loginCreator = getLoginCreator(); + return (T) loginCreator; + default: + break; + } + return null; + } + + //******************************通用获取信息结束********************************************* + //***************************PC信息开始********************************************* /** * 获取用户ID