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);
}
/**