Index: ssts-web/src/main/webapp/logonSSOForKsdqdyrmyy.jsp =================================================================== diff -u --- ssts-web/src/main/webapp/logonSSOForKsdqdyrmyy.jsp (revision 0) +++ ssts-web/src/main/webapp/logonSSOForKsdqdyrmyy.jsp (revision 31538) @@ -0,0 +1,197 @@ +<%@page import="java.util.HashMap"%> +<%@page import="java.util.Map"%> +<%@page import="com.forgon.security.model.User"%> +<%@page import="com.forgon.disinfectsystem.common.CssdUtils"%> +<%@page import="com.forgon.security.service.UserManager"%> +<%@ page contentType="text/html; charset=UTF-8" %> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@page import="com.forgon.tools.SpringBeanManger"%> +<%@page import="com.forgon.tools.Constants"%> +<%@page import="net.sf.json.JSONObject" %> +<%@page import="java.io.File" %> +<%@page import="java.util.ArrayList" %> +<%@page import="org.apache.commons.lang.StringUtils"%> +<%@page import="net.sf.json.JSONObject" %> +<%@ page import="org.jasig.cas.client.authentication.AttributePrincipal" %> + +<% +ArrayList message = new ArrayList(); +String ticket = request.getParameter("ticket"); +String userName = ""; +String ctxx = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort(); +UserManager userManager=(UserManager)SpringBeanManger.getBean("userManager"); +if(StringUtils.isNotBlank(ticket) && StringUtils.isBlank(userName)){ + // 根据ticket获取用户信息 + String ticketUrl = "http://192.168.11.132:8080/Portal/serviceValidate"; + Map params = new HashMap(); + params.put("ticket", ticket); + String service = ctxx + "/logonSSOForSzsdsrmyy.jsp"; + params.put("service", service); + String result = CssdUtils.postRequest(ticketUrl, params, "utf-8"); + userName = CssdUtils.getXmlContentByTagName(result, "cas:user"); + if(StringUtils.isBlank(userName)){ + String xmlContent = CssdUtils.getXmlContentByTagName(result, "cas:authenticationFailure"); + message.add("登录失败"); + } +} + +if(StringUtils.isNotBlank(userName)){ + User user=userManager.getFirst("name", userName); + if(user==null){ + message.add("用户:"+userName+"不存在"); + }else{ + pageContext.setAttribute("barcode", user.getBarcode()); + } +} + +pageContext.setAttribute("message", message); + +String companyName = CssdUtils.getSystemSetConfigByName("companyName"); +String companyNameStr = ""; +if(companyName == null || companyName.equals("forgon")){ + companyNameStr = "©2021 广州孚峻信息技术有限公司 版权所有"; +}else if(companyName.equals("dingxiang")){ + companyNameStr = "©2021 广州丁香软件有限公司 版权所有"; +} +session.setAttribute("companyName", companyNameStr); +String project = CssdUtils.getConfigProperty("project"); +session.setAttribute("profile", project); + +String imgPath = "disinfectsystem/config/" + project + "/img/logo_" + project +".png"; +File file = new File(application.getRealPath("/") + imgPath); +if(file.exists()){ + request.setAttribute("logoPath",imgPath); +}else{ + if(companyName == null || companyName.equals("forgon")){ + request.setAttribute("logoPath","themes/portalPage/img/logo_Forgon.png"); + }else if(companyName.equals("dingxiang")){ + request.setAttribute("logoPath","themes/portalPage/img/logo_dingxiangsoft.png"); + } +} + +%> + + + + + + + + +消毒供应质量追溯管理系统 +<%-- --%> + + + + + + +
+
+
+ 账号或密码错误!请重新输入! + 验证码错误,请重新输入! + 该用户没有回收清点的权限,请重新输入! + 注册码不正确或试用期已过!请与管理人员联系! + 身份验证接口访问异常,请与系统管理员联系! +
+ + + +
+ + + + + + + + + + Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java =================================================================== diff -u -r30881 -r31538 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 30881) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/common/CssdUtils.java (.../CssdUtils.java) (revision 31538) @@ -1,16 +1,17 @@ package com.forgon.disinfectsystem.common; import java.io.BufferedReader; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; +import java.io.PrintStream; import java.io.PrintWriter; import java.io.StringReader; import java.io.UnsupportedEncodingException; -import java.lang.annotation.Annotation; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLConnection; @@ -32,19 +33,25 @@ import net.sf.json.JSONObject; import net.sf.json.xml.XMLSerializer; +import org.apache.commons.collections.MapUtils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.StringUtils; +import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; +import org.apache.http.client.config.RequestConfig; import org.apache.http.client.entity.UrlEncodedFormEntity; +import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; +import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultHttpClient; +import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.message.BasicNameValuePair; import org.apache.http.params.BasicHttpParams; import org.apache.http.params.HttpConnectionParams; @@ -59,6 +66,7 @@ import com.fasterxml.jackson.core.JsonParser.Feature; import com.fasterxml.jackson.databind.ObjectMapper; import com.forgon.Constants; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.BarcodeDevice; import com.forgon.disinfectsystem.basedatamanager.toussedefinition.service.TousseInstanceUtils; import com.forgon.disinfectsystem.entity.assestmanagement.DiposableGoodsInstance; @@ -79,8 +87,11 @@ import com.forgon.disinfectsystem.entity.sterilizationmanager.proxydisinfection.ProxyDisinfection; import com.forgon.disinfectsystem.entity.tousseitem.TousseItem; import com.forgon.disinfectsystem.vo.TousseItemVo; +import com.forgon.log.model.Log; +import com.forgon.log.service.LogManager; import com.forgon.security.model.User; import com.forgon.serialnumber.model.SerialNum; +import com.forgon.tools.SpringBeanManger; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; import com.forgon.tools.util.ConfigUtils; @@ -1423,6 +1434,72 @@ * @return * @throws Exception */ + public static String postRequest(String url, Map params, String charset) { + if(StringUtils.isBlank(url) || MapUtils.isEmpty(params)){ + throw new RuntimeException("参数不能为空!"); + } + // 创建HttpClientBuilder + HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); + // HttpClient + CloseableHttpClient closeableHttpClient = httpClientBuilder.build(); + CloseableHttpResponse response = null; + String result = ""; + try{ + HttpPost httpPost = new HttpPost(url); + // 设置请求和传输超时时间 + RequestConfig requestConfig = RequestConfig.custom() + .setSocketTimeout(3000000) + .setConnectTimeout(3000000).build(); + httpPost.setConfig(requestConfig); + List list = new ArrayList(); + for (String key : params.keySet()) { + list.add(new BasicNameValuePair(key,params.get(key))); + } + UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list, charset); + httpPost.setEntity(entity); + response = closeableHttpClient.execute(httpPost); + if(response != null){ + HttpEntity resEntity = response.getEntity(); + if(resEntity != null){ + result = EntityUtils.toString(resEntity,"UTF-8"); + } + } + }catch(Exception ex){ + ex.printStackTrace(); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + ex.printStackTrace(new PrintStream(baos)); + String exception = baos.toString(); + logger.error("接口访问异常:" + exception); + ex.printStackTrace(); + }finally{ + //关闭资源 + if(response != null){ + try { + response.close(); + }catch (Exception ioe){ + ioe.printStackTrace(); + } + } + if(closeableHttpClient != null){ + try{ + closeableHttpClient.close(); + }catch (Exception ioe){ + ioe.printStackTrace(); + } + } + } + logger.error("接返回:" + result); + return result; + } + + /** + * 执行post的http请求 + * @param url请求地址 + * @param params 输入参数 + * @param charset 字符编码集 + * @return + * @throws Exception + */ public static String sendRequestByHttpPost(String url, Map params, String charset) { logger.debug("sendRequestByHttpPost="+ url +",params="+ params +",charset="+ charset); String result = null; Index: ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml =================================================================== diff -u -r31385 -r31538 --- ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 31385) +++ ssts-web/src/main/webapp/WEB-INF/spring/security-standard/applicationContext-acegi-security.xml (.../applicationContext-acegi-security.xml) (revision 31538) @@ -45,6 +45,7 @@ +