From a8d80ddd0aef61cbaf1dbe9fe7abec12f0835399 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 01 二月 2024 14:52:14 +0800 Subject: [PATCH] 代码合并 --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java | 37 +++++++++++++++++++------------------ 1 files changed, 19 insertions(+), 18 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java index 01aa00c..2cfab97 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java @@ -4,6 +4,7 @@ import com.vci.ubcs.code.entity.TokenUserObject; import com.vci.ubcs.code.service.IPasswordFreeLoginService; import com.vci.ubcs.starter.util.HttpUtils; +import com.vci.ubcs.system.cache.NacosConfigCache; import io.jsonwebtoken.Claims; import lombok.extern.slf4j.Slf4j; import org.apache.http.auth.AuthenticationException; @@ -12,6 +13,7 @@ import org.springblade.core.log.exception.ServiceException; import org.springblade.core.redis.cache.BladeRedis; import org.springblade.core.secure.BladeUser; +import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.support.Kv; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.ObjectUtil; @@ -66,6 +68,7 @@ @Value("${password-free.secret-key:9fbd170bd83eb869}") private String secretKey;//搴旂敤绉橀挜 + @Autowired private BladeRedis bladeRedis; @@ -97,7 +100,7 @@ @Override public boolean pwdFreeLoginByBoolean(String userName, ServletRequest servletRequest) throws AuthenticationException { //杩涙潵鍏堝垽鏂紦瀛樹腑鏄惁瀛樺湪token - // 璇锋眰鏉ヨ嚜宸卞摢涓猧p鍦板潃 + // 璇锋眰鏉ヨ嚜鍝釜ip鍦板潃 HttpServletRequest request = (HttpServletRequest) servletRequest; String ipAddr = request.getRemoteAddr(); // 鍏堝皾璇曚粠缂撳瓨褰撲腑鍙栵紝瀛樺湪灏辩洿鎺ヤ粠缂撳瓨涓幏鍙� @@ -106,7 +109,7 @@ String token2 = JwtUtil.getToken(authToken); BladeUser user = this.getUser(token2); //涓嶅瓨鍦ㄥ氨璇锋眰 - if(Func.isEmpty(authToken) || Func.isEmpty(user)){ + if(Func.isEmpty(authToken) || Func.isEmpty(user) || !user.getTenantId().equals(NacosConfigCache.getAdminUserInfo().getTenantId())){ String responseBody = this.passwordFreeLogin(userName); //鎷垮埌鍝嶅簲浣撳叾涓寘鍚玹oken,鐢╮equest涓殑ip鍦板潃浣滀负閿�硷紝灏唗oken瀛樺叆缂撳瓨 TokenUserObject tokenUserObject = null; @@ -122,7 +125,7 @@ token2 = JwtUtil.getToken(authToken); user = this.getUser(token2); } - //request.setAttribute("Blade-Auth",token); + request.setAttribute("Blade-Auth",authToken); request.setAttribute("_BLADE_USER_REQUEST_ATTR_",user); return true; } @@ -161,27 +164,25 @@ /** * 鍗曠偣鐧诲綍 - * @param servletRequest + * @param empCode * @return * @throws Exception */ @Override - public String ssoFreeLogin(ServletRequest servletRequest) throws Exception { - HttpServletRequest request = (HttpServletRequest) servletRequest; - // String empCode = Func.isEmpty(request.getHeader("empCode")) ? request.getParameter("empCode"):request.getHeader("empCode"); - String empCode = "test"; -// if(Func.isBlank(content)){ -// throw new ServiceException("鏈幏鍙栧埌empCode鍙傛暟"); -// } - //鍔犲瘑 - String str1 = aesEncrypt(empCode, clientId); - String str2 = aesEncrypt(str1, secretKey); - - String enStr1 = aesDecrypt(str2, secretKey); - String enStr2 = aesDecrypt(enStr1, clientId); + public String ssoFreeLogin(String empCode) throws Exception { + if(Func.isBlank(empCode)){ + throw new ServiceException("鏈幏鍙栧埌empCode鍙傛暟"); + } + String enStr2; + try { + String enStr1 = aesDecrypt(empCode, secretKey); + enStr2 = aesDecrypt(enStr1, clientId); + }catch (Exception e){ + throw new ServiceException("empCode鍙傛暟瑙e瘑澶辫触锛佸師鍥�:"+e.getMessage()); + } // 瑙e瘑 log.debug("鍗曠偣鐧诲綍鍙傛暟瑙e瘑鍚庯細"+enStr2); - String token = this.passwordFreeLogin("pwdfree"); + String token = this.passwordFreeLogin(enStr2); return token; } -- Gitblit v1.9.3