From 6286138b36485db6687d1fe09296e9551c5e035c Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Fri, 14 Jun 2024 09:28:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- securitycontrol-auth/pom.xml | 15 ++++ .../auth/controller/TokenController.java | 72 ++++++++++++++++--- .../common/core/utils/aes/AesCbcUtils.java | 6 +- 3 files changed, 82 insertions(+), 11 deletions(-) diff --git a/securitycontrol-auth/pom.xml b/securitycontrol-auth/pom.xml index f2d0550..2847c00 100644 --- a/securitycontrol-auth/pom.xml +++ b/securitycontrol-auth/pom.xml @@ -107,6 +107,21 @@ system ${project.basedir}/libs/isc_sm_agent-2.0.jar + + commons-httpclient + commons-httpclient + 1.0 + system + ${project.basedir}/libs/commons-httpclient-3.1.jar + + + isc_sso_agent + isc_sso_agent + 1.0 + system + ${project.basedir}/libs/isc_sso_agent-1.0.jar + + gson gson diff --git a/securitycontrol-auth/src/main/java/com/securitycontrol/auth/controller/TokenController.java b/securitycontrol-auth/src/main/java/com/securitycontrol/auth/controller/TokenController.java index c107b30..2679fef 100644 --- a/securitycontrol-auth/src/main/java/com/securitycontrol/auth/controller/TokenController.java +++ b/securitycontrol-auth/src/main/java/com/securitycontrol/auth/controller/TokenController.java @@ -26,6 +26,12 @@ import com.sgcc.isc.framework.common.constant.Constants; import com.sgcc.isc.service.adapter.factory.AdapterFactory; import com.sgcc.isc.service.adapter.helper.IIdentityService; import com.sgcc.isc.service.adapter.helper.IResourceService; +import com.sgcc.isc.ualogin.client.CASClient; +import com.sgcc.isc.ualogin.client.CASTicket; +import com.sgcc.isc.ualogin.client.IscServiceTicketValidator; +import com.sgcc.isc.ualogin.client.util.Base64Util; +import com.sgcc.isc.ualogin.client.util.IscSSOResourceUtil; +import com.sgcc.isc.ualogin.client.vo.IscSSOUserBean; import io.jsonwebtoken.Claims; import io.swagger.annotations.Api; import lombok.extern.slf4j.Slf4j; @@ -80,6 +86,7 @@ public class TokenController { return Result.ok(tokenService.createToken(userInfo2), "登录成功"); } Map map=getIscLogin(form.getUsername(), form.getPassword()); + iscLogin(form.getUsername(), form.getPassword()); List menu= (List) map.get("menu"); String password=map.get("pwd").toString(); log.info("密码====>{}",password); @@ -94,11 +101,9 @@ public class TokenController { IIdentityService service=(IIdentityService)AdapterFactory.getInstance(Constants.CLASS_IDENTITY); IResourceService iResourceService=(IResourceService)AdapterFactory.getInstance(Constants.CLASS_RESOURCE); User user=service.userLoginAuth(username,password); + User user2=service.userLoginAuth("ah",username,password); FunctionTree tree= iResourceService.getFuncTree(user.getId(),"9bb295b78f95350d018fc23d3f284f1f",""); - log.info("有菜单数据了--->{}",tree); List menus= getMenuList(tree); - log.info("草段全部获取成功====>{}",tree); - log.info("菜单数据---->{}",menus.toArray()); map.put("menu",menus); map.put("isL","true"); map.put("pwd","Bonus@admin123"); @@ -113,13 +118,12 @@ public class TokenController { return map; } + public List getMenuList( FunctionTree tree){ List list = new ArrayList(); try{ List nodeList=tree.getFuncNode(); - log.info("nodeList--->{}",nodeList); nodeList.forEach((value) -> { - log.info("数据展示value -->{}",value); SysMenu menu = new SysMenu(); List menuChilders = new ArrayList<>(); Function currentNode = value.getCurrentNode(); @@ -131,12 +135,9 @@ public class TokenController { menu.setIcon("chart"); List nextNode = value.getNextNode(); menu.setLast(ListHelper.isEmpty(nextNode)); - log.info("nextNode----->{}",nextNode); nextNode.forEach(functionNode->{ - log.info("functionNode----->{}",functionNode); SysMenu menuChilder = new SysMenu(); Function currentNodeChilder = functionNode.getCurrentNode(); - log.info("currentNodeChilder----->{}",currentNodeChilder); String funType = currentNodeChilder.getFuncType(); System.err.println(funType); menuChilder.setMenuAuth(currentNodeChilder.getBusiCode()); @@ -149,7 +150,6 @@ public class TokenController { menu.setChilder(menuChilders); list.add(menu); }); - log.info("nodeList--->{}",list); }catch (Exception e){ log.error(e.toString(),e); } @@ -157,6 +157,60 @@ public class TokenController { } + //isc登录 + public Map iscLogin(String username,String password){ + Map map= Maps.newHashMap(); + Boolean isLogin=false; + try{ + if(StringUtils.isNotBlank(username) && StringUtils.isNotBlank(password)){ + String server = "http://10.138.107.32:17002/isc_frontmv_serv" + "/v1/tickets"; + String service = "http://10.138.225.233:21624/zhgd-ht/index.html"; + String pwd = new String(Base64Util.encode(password.getBytes("UTF-8"))); + CASTicket ticket = CASClient.getTicket(server, username, pwd, service); + /* ticket校验器 */ + IscServiceTicketValidator sv = new IscServiceTicketValidator(); + /*统一认证服务端校验器地址*/ + sv.setCasValidateUrl("http://10.138.225.233:21624"); + /*业务系统LoginModule访问地址*/ + sv.setService("http://10.138.225.233:21624"); + /*设置Ticket*/ + sv.setServiceTicket(ticket.getServiceTicket()); + /*校验*/ + sv.validate(); + String user = ""; + if (sv.isAuthenticationSuccesful()) { + user = sv.getUser(); + } else { + String errorCode = sv.getErrorCode(); + String errorMessage = sv.getErrorMessage(); + System.out.println("errorInfo -----------> " + errorCode + "\r\n" + errorMessage); + } + IscSSOUserBean iscSSOUserBean = null; + /*获取当前用户登录信息*/ + iscSSOUserBean = IscSSOResourceUtil.transferIscUserBean(user); + /*当前登录用户ID*/ + String userid = iscSSOUserBean.getIscUserId(); + /*当前登录用户账号*/ + String loginName = iscSSOUserBean.getIscUserSourceId(); + System.out.println("errorInfo -----------> " + userid + "\r\n" + userid); + IResourceService iResourceService=(IResourceService)AdapterFactory.getInstance(Constants.CLASS_RESOURCE); + FunctionTree tree= iResourceService.getFuncTree(userid,"9bb295b78f95350d018fc23d3f284f1f",""); + List menus= getMenuList(tree); + map.put("menu",menus); + map.put("isL","true"); + map.put("pwd","jysp@Bns2023**"); + map.put("loginName",loginName); + } + }catch (Exception e){ + map.put("menu",new ArrayList<>()); + map.put("isL","false"); + map.put("pwd","1233"); + map.put("loginName",username); + e.printStackTrace(); + } + return map; + } + /** * 本地推出登录 * diff --git a/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/utils/aes/AesCbcUtils.java b/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/utils/aes/AesCbcUtils.java index 07e01d7..2a3c870 100644 --- a/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/utils/aes/AesCbcUtils.java +++ b/securitycontrol-commons/securitycontrol-commons-core/src/main/java/com/securitycontrol/common/core/utils/aes/AesCbcUtils.java @@ -79,9 +79,11 @@ public class AesCbcUtils { String json="{\"username\":\"guest\",\"password\":\"admin@123\"}"; String data=encrypt(json); - String jm=decrypt("2rrMRoOfoo9n17MTPSRTidwgXeatSLxWFQfPNSCUJdHvqT58extTi87f1e5LJS0DdMcjzIdtFoHvur9gP7desQ=="); - System.err.println(jm); System.err.println(data); + String jm=decrypt("2rrMRoOfoo9n17MTPSRTidwgXeatSLxWFQfPNSCUJdHvqT58extTi87f1e5LJS0DdMcjzIdtFoHvur9gP7desQ=="); + String jiemi=decrypt(data); + System.err.println(jm); + System.err.println(jiemi); } /**