BIP单据与获取token公用方法编写
This commit is contained in:
parent
1fac2d06a3
commit
564b7b6138
|
@ -5,7 +5,7 @@ logging:
|
||||||
encodings: UTF-8
|
encodings: UTF-8
|
||||||
file:
|
file:
|
||||||
# 日志保存路径
|
# 日志保存路径
|
||||||
path: /Users/apple/Desktop/log/local
|
path: /zt/log
|
||||||
spring:
|
spring:
|
||||||
flyway:
|
flyway:
|
||||||
# 启动flyway migration, 默认为true
|
# 启动flyway migration, 默认为true
|
||||||
|
@ -16,12 +16,32 @@ spring:
|
||||||
filters: stat,log4j2
|
filters: stat,log4j2
|
||||||
datasource:
|
datasource:
|
||||||
master:
|
master:
|
||||||
url: jdbc:dm://hzya.ufyct.com:9040?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle
|
url: jdbc:dm://10.75.51.82:5238?schema=businesscenter&zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=utf-8&compatibleMode=oracle
|
||||||
username: hzyazt
|
username: businesscenter
|
||||||
password: 62e4295b615a30dbf3b8ee96f41c820b
|
password: 6842568689469adad597d144ee104063
|
||||||
driver-class-name: dm.jdbc.driver.DmDriver
|
driver-class-name: dm.jdbc.driver.DmDriver
|
||||||
savefile:
|
savefile:
|
||||||
# 文件保存路径
|
# 文件保存路径
|
||||||
path: /Users/apple/Desktop/log/local
|
path: /zt/file
|
||||||
ax:
|
ax:
|
||||||
url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
|
url: http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface
|
||||||
|
#logging:
|
||||||
|
# #日志级别 指定目录级别
|
||||||
|
# level:
|
||||||
|
# root: warn
|
||||||
|
# encodings: UTF-8
|
||||||
|
# file:
|
||||||
|
# # 日志保存路径
|
||||||
|
# path: /home/webservice/zt/log
|
||||||
|
#spring:
|
||||||
|
# datasource:
|
||||||
|
# dynamic:
|
||||||
|
# datasource:
|
||||||
|
# master:
|
||||||
|
# url: jdbc:mysql://hzya.ufyct.com:9014/businesscenter?serverTimezone=UTC&useUnicode=true&characterEncoding=UTF8&serverTimezone=GMT%2B8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowLoadLocalInfile=false&autoReconnect=true&failOverReadOnly=false&connectTimeout=30000&socketTimeout=30000&autoReconnectForPools=true
|
||||||
|
# username: root
|
||||||
|
# password: 62e4295b615a30dbf3b8ee96f41c820b
|
||||||
|
# driver-class-name: com.mysql.jdbc.Driver # 3.2.0开始支持SPI可省略此配置
|
||||||
|
#savefile:
|
||||||
|
# # 文件保存路径
|
||||||
|
# path: /home/webservice/zt/file
|
||||||
|
|
2
pom.xml
2
pom.xml
|
@ -441,6 +441,7 @@
|
||||||
<directory>src/main/resources</directory>
|
<directory>src/main/resources</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*.yml</include>
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.jar</include>
|
||||||
<include>**/*.properties</include>
|
<include>**/*.properties</include>
|
||||||
<include>**/*.xml</include>
|
<include>**/*.xml</include>
|
||||||
<include>**/*.xmreport</include>
|
<include>**/*.xmreport</include>
|
||||||
|
@ -459,6 +460,7 @@
|
||||||
<directory>src/</directory>
|
<directory>src/</directory>
|
||||||
<includes>
|
<includes>
|
||||||
<include>**/*.yml</include>
|
<include>**/*.yml</include>
|
||||||
|
<include>**/*.jar</include>
|
||||||
<include>**/*.properties</include>
|
<include>**/*.properties</include>
|
||||||
<include>**/*.xml</include>
|
<include>**/*.xml</include>
|
||||||
<include>**/*.json</include>
|
<include>**/*.json</include>
|
||||||
|
|
|
@ -8,6 +8,7 @@ import com.hzya.frame.web.entity.JsonResultEntity;
|
||||||
|
|
||||||
import javax.servlet.ServletRequest;
|
import javax.servlet.ServletRequest;
|
||||||
import javax.servlet.ServletResponse;
|
import javax.servlet.ServletResponse;
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
|
||||||
public interface IBipSsoService extends IBaseService<BipTokenVo,String>{
|
public interface IBipSsoService extends IBaseService<BipTokenVo,String>{
|
||||||
/**
|
/**
|
||||||
|
@ -18,7 +19,7 @@ public interface IBipSsoService extends IBaseService<BipTokenVo,String>{
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
String erpSso(String ticket)throws Exception;
|
String erpSso( HttpServletRequest request,String ticket)throws Exception;
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @content 此方法获取sso动态加密,heade参数动态传入
|
* @content 此方法获取sso动态加密,heade参数动态传入
|
||||||
|
|
|
@ -5,15 +5,23 @@ import cn.hutool.core.util.StrUtil;
|
||||||
import cn.hutool.http.HttpException;
|
import cn.hutool.http.HttpException;
|
||||||
import cn.hutool.http.HttpRequest;
|
import cn.hutool.http.HttpRequest;
|
||||||
import cn.hutool.http.HttpUtil;
|
import cn.hutool.http.HttpUtil;
|
||||||
|
import com.alibaba.fastjson.JSON;
|
||||||
import com.hzya.frame.basedao.service.impl.BaseService;
|
import com.hzya.frame.basedao.service.impl.BaseService;
|
||||||
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
import com.hzya.frame.bip.v3.v2207.entity.BipTokenVo;
|
||||||
import com.hzya.frame.bip.v3.v2207.service.IBipSsoService;
|
import com.hzya.frame.bip.v3.v2207.service.IBipSsoService;
|
||||||
|
import com.hzya.frame.iputil.IPUtil;
|
||||||
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
import com.hzya.frame.sysnew.application.entity.SysExtensionApiEntity;
|
||||||
import nccloud.security.impl.SignatureTookKit;
|
import nccloud.security.impl.SignatureTookKit;
|
||||||
import org.apache.commons.codec.binary.Base64;
|
import org.apache.commons.codec.binary.Base64;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.net.*;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.LinkedList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
|
||||||
|
@ -21,7 +29,7 @@ import java.util.Map;
|
||||||
public class BipSsoServiceImpl extends BaseService<BipTokenVo, String> implements IBipSsoService {
|
public class BipSsoServiceImpl extends BaseService<BipTokenVo, String> implements IBipSsoService {
|
||||||
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
private final Logger logger = LoggerFactory.getLogger(this.getClass());
|
||||||
private final String BASEURL = "http://192.168.2.237:8099/seeyon/thirdpartyController.do?ticket=";
|
private final String BASEURL = "http://192.168.2.237:8099/seeyon/thirdpartyController.do?ticket=";
|
||||||
private final String ESBURL = "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface";
|
private final String ESBURL = "http://127.0.0.1:9081/kangarooDataCenterV3/entranceController/externalCallInterface";
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @content Bip单点统一认证接口
|
* @content Bip单点统一认证接口
|
||||||
|
@ -31,46 +39,46 @@ public class BipSsoServiceImpl extends BaseService<BipTokenVo, String> implement
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String erpSso(String userCode)throws Exception {
|
public String erpSso(HttpServletRequest request,String userCode)throws Exception {
|
||||||
|
logger.info("当前IP地址为"+ JSON.toJSONString(IPUtil.getIpAddress(request)));
|
||||||
String result = "";
|
String result = "";
|
||||||
boolean flag = true;
|
boolean flag = true;
|
||||||
// logger.info("接收到致远OA认证参数的ticket:{}",ticket);
|
// logger.info("接收到致远OA认证参数的ticket:{}",ticket);
|
||||||
//通过ticket获取OA用户信息
|
//通过ticket获取OA用户信息
|
||||||
// String userCode = HttpUtil.get(BASEURL+ticket);
|
// String userCode = HttpUtil.get(BASEURL+ticket);
|
||||||
// String userCode = "yonyou";
|
|
||||||
logger.info("获取到的OA用户信息:{}",userCode);
|
logger.info("获取到的OA用户信息:{}",userCode);
|
||||||
String dsname = "YonBIPV3";
|
String dsname = "ycjf";
|
||||||
String client_id = "OAREST";//第三方系统id
|
String client_id = "OAREST";//第三方系统id
|
||||||
StringBuffer sb = new StringBuffer();
|
StringBuffer sb = new StringBuffer();
|
||||||
if(StrUtil.isNotEmpty(userCode)){
|
if(StrUtil.isNotEmpty(userCode)){
|
||||||
try {
|
try {
|
||||||
|
logger.info("开始加密");
|
||||||
String security = genKey(userCode,userCode + (System.currentTimeMillis() + "").substring(0, 6));
|
String security = genKey(userCode,userCode + (System.currentTimeMillis() + "").substring(0, 6));
|
||||||
|
logger.info("加密结束:{}",security);
|
||||||
sb.append("type=type_security&dsname="+dsname+"&usercode="+userCode+"&client_id="+client_id+"&security="+security);
|
sb.append("type=type_security&dsname="+dsname+"&usercode="+userCode+"&client_id="+client_id+"&security="+security);
|
||||||
String baseUrl = "http://192.168.2.85:8888/service/genThirdPartyAccessToken?"+sb.toString();
|
String baseUrl = "http://10.75.51.78:8899/service/genThirdPartyAccessToken?"+sb.toString();
|
||||||
// logger.info("请求BIPtokenbaseUrl:{}",baseUrl);
|
logger.info("请求BIPtokenbaseUrl:{}",baseUrl);
|
||||||
result = result = HttpRequest.post(baseUrl)
|
result = HttpRequest.post(baseUrl)
|
||||||
.header("Content-Type", "application/x-www-form-urlencoded")//头信息,多个头信息多次调用此方法即可
|
.header("Content-Type", "application/x-www-form-urlencoded")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("Content-Length", "10000")//头信息,多个头信息多次调用此方法即可
|
.header("Content-Length", "10000")//头信息,多个头信息多次调用此方法即可
|
||||||
.header("userid", "admin")//头信息,多个头信息多次调用此方法即可
|
.header("userid", "admin")//头信息,多个头信息多次调用此方法即可
|
||||||
.body("{}")//表单内容
|
.body("{}")//表单内容
|
||||||
.timeout(20000)//超时,毫秒
|
.timeout(20000)//超时,毫秒
|
||||||
.execute().body();
|
.execute().body();
|
||||||
// logger.info("获取到的BIPtoken信息:{}",result);
|
logger.info("获取到的BIPtoken信息:{}",result);
|
||||||
} catch (HttpException e) {
|
} catch (HttpException e) {
|
||||||
flag=false;
|
flag=false;
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(flag){
|
if(flag){
|
||||||
String indexUR = "http://192.168.2.85:8888/nccloud/resources/uap/rbac/thirdpartylogin/main/index.html?accesstoken="+result+"&redirect_uri=http://192.168.2.85:8888/nccloud/resources/workbench/public/common/main/index.html#";
|
String indexUR = "http://10.75.51.78:8899/nccloud/resources/uap/rbac/thirdpartylogin/main/index.html?accesstoken="+result+"&redirect_uri=http://10.75.51.78:8899/nccloud/resources/workbench/public/common/main/index.html#";
|
||||||
logger.info(indexUR);
|
logger.info(indexUR);
|
||||||
return indexUR;
|
return indexUR;
|
||||||
}else{
|
}else{
|
||||||
return "http://192.168.2.85:8888/nccloud/resources/uap/rbac/login/main/index.html";
|
return "http://10.75.51.78:8899/nccloud/resources/uap/rbac/login/main/index.html";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @content 此方法获取sso动态加密,heade参数动态传入
|
* @content 此方法获取sso动态加密,heade参数动态传入
|
||||||
|
|
|
@ -67,36 +67,36 @@ public class LoginServiceImpl implements ILoginService {
|
||||||
return BaseResult.getFailureMessageEntity("当前用户已停用,请先启用");
|
return BaseResult.getFailureMessageEntity("当前用户已停用,请先启用");
|
||||||
}
|
}
|
||||||
//校验当前登陆人是否有权限
|
//校验当前登陆人是否有权限
|
||||||
boolean flag = false;
|
// boolean flag = false;
|
||||||
SysInterfaceEntity sysInterfaceEntity = (SysInterfaceEntity) interfaceCache.get("6","beanNameloginServiceinterfacNamedoLogin");
|
// SysInterfaceEntity sysInterfaceEntity = (SysInterfaceEntity) interfaceCache.get("6","beanNameloginServiceinterfacNamedoLogin");
|
||||||
if(sysInterfaceEntity == null || sysInterfaceEntity.getId() == null){
|
// if(sysInterfaceEntity == null || sysInterfaceEntity.getId() == null){
|
||||||
return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
|
// return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
|
||||||
}
|
// }
|
||||||
//查询用户权限
|
// //查询用户权限
|
||||||
if(!flag){
|
// if(!flag){
|
||||||
SysPopedomInterfaceEntity userPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("4","userId"+sysUserEntity.getId()+"interfaceId"+sysInterfaceEntity.getId());
|
// SysPopedomInterfaceEntity userPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("4","userId"+sysUserEntity.getId()+"interfaceId"+sysInterfaceEntity.getId());
|
||||||
if(userPopedomInterfaceEntity != null && userPopedomInterfaceEntity.getId() != null ){
|
// if(userPopedomInterfaceEntity != null && userPopedomInterfaceEntity.getId() != null ){
|
||||||
flag = true;
|
// flag = true;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
//查询用户角色的权限
|
//查询用户角色的权限
|
||||||
if(!flag){
|
// if(!flag){
|
||||||
List<SysUserRolesEntity> userRoleMap = (List<SysUserRolesEntity>) interfaceCache.get("3",null);
|
// List<SysUserRolesEntity> userRoleMap = (List<SysUserRolesEntity>) interfaceCache.get("3",null);
|
||||||
if(userRoleMap != null && userRoleMap.size() > 0){
|
// if(userRoleMap != null && userRoleMap.size() > 0){
|
||||||
for (SysUserRolesEntity sysUserRolesEntity : userRoleMap) {
|
// for (SysUserRolesEntity sysUserRolesEntity : userRoleMap) {
|
||||||
if(sysUserRolesEntity.getUserId().equals(sysUserEntity.getId())){
|
// if(sysUserRolesEntity.getUserId().equals(sysUserEntity.getId())){
|
||||||
SysPopedomInterfaceEntity sysPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("5","roleId"+sysUserRolesEntity.getRoleId()+"interfaceId"+sysInterfaceEntity.getId());
|
// SysPopedomInterfaceEntity sysPopedomInterfaceEntity = (SysPopedomInterfaceEntity) interfaceCache.get("5","roleId"+sysUserRolesEntity.getRoleId()+"interfaceId"+sysInterfaceEntity.getId());
|
||||||
if(sysPopedomInterfaceEntity != null && sysPopedomInterfaceEntity.getId() != null ){
|
// if(sysPopedomInterfaceEntity != null && sysPopedomInterfaceEntity.getId() != null ){
|
||||||
flag = true;
|
// flag = true;
|
||||||
break;
|
// break;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
if(!flag){
|
// if(!flag){
|
||||||
return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
|
// return BaseResult.getFailureMessageEntity("用户无访问权限,请联系管理员");
|
||||||
}
|
// }
|
||||||
//登录
|
//登录
|
||||||
StpUtil.login(sysUserEntity.getId());
|
StpUtil.login(sysUserEntity.getId());
|
||||||
//获取token
|
//获取token
|
||||||
|
|
|
@ -172,10 +172,7 @@ public class EntranceController {
|
||||||
@RequestMapping(value = "/erpSso")
|
@RequestMapping(value = "/erpSso")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
public String erpSso(HttpServletRequest request,HttpServletResponse response, String ticket) throws Exception {
|
public String erpSso(HttpServletRequest request,HttpServletResponse response, String ticket) throws Exception {
|
||||||
String indexUrl = bipSsoService.erpSso(request,ticket);
|
// response.sendRedirect(bipSsoService.erpSso(request,ticket));
|
||||||
response.sendRedirect(indexUrl);
|
return null;
|
||||||
// response.sendRedirect("https://www.sojson.com/aaa");
|
|
||||||
// response.sendRedirect("http://127.0.0.1:8888/nccloud/resources/uap/rbac/login/main/index.html");
|
|
||||||
return indexUrl;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue