|
|
|
@ -1,355 +1,268 @@
|
|
|
|
|
package weaver.interfaces.filter;
|
|
|
|
|
|
|
|
|
|
import okhttp3.*;
|
|
|
|
|
import org.apache.http.HttpEntity;
|
|
|
|
|
import org.apache.http.HttpResponse;
|
|
|
|
|
import org.apache.http.ParseException;
|
|
|
|
|
import org.apache.http.client.methods.CloseableHttpResponse;
|
|
|
|
|
import org.apache.http.client.methods.HttpGet;
|
|
|
|
|
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.HttpClientBuilder;
|
|
|
|
|
import org.apache.http.impl.client.HttpClients;
|
|
|
|
|
import org.apache.http.util.EntityUtils;
|
|
|
|
|
import com.api.login.util.LoginUtil;
|
|
|
|
|
import okhttp3.OkHttpClient;
|
|
|
|
|
import okhttp3.Request;
|
|
|
|
|
import okhttp3.Response;
|
|
|
|
|
import weaver.conn.RecordSet;
|
|
|
|
|
import weaver.general.BaseBean;
|
|
|
|
|
import java.io.BufferedReader;
|
|
|
|
|
import weaver.general.Util;
|
|
|
|
|
import weaver.hrm.User;
|
|
|
|
|
import weaver.general.GCONST;
|
|
|
|
|
import weaver.interfaces.comInfo.PropBean;
|
|
|
|
|
import weaver.login.VerifyLogin;
|
|
|
|
|
import javax.servlet.http.Cookie;
|
|
|
|
|
import javax.servlet.ServletContext;
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
import java.io.InputStreamReader;
|
|
|
|
|
import java.net.HttpURLConnection;
|
|
|
|
|
import java.net.URL;
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
|
import java.util.Calendar;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
import java.util.Map;
|
|
|
|
|
import com.sun.jersey.core.util.Base64;
|
|
|
|
|
|
|
|
|
|
public class HttpRequestUtil extends BaseBean{
|
|
|
|
|
|
|
|
|
|
public String doGetHttp(String url,String session){
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
|
|
|
String msgData= "" ;
|
|
|
|
|
OkHttpClient client = new OkHttpClient().newBuilder().build();
|
|
|
|
|
Request request = new Request.Builder()
|
|
|
|
|
.url(url)
|
|
|
|
|
.method("GET", null)
|
|
|
|
|
.addHeader("Cookie", "SESSION="+session)
|
|
|
|
|
.build();
|
|
|
|
|
try {
|
|
|
|
|
Response response = client.newCall(request).execute();
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 模拟请求
|
|
|
|
|
*
|
|
|
|
|
* @param url 资源地址
|
|
|
|
|
* @param encoding 编码
|
|
|
|
|
* @return
|
|
|
|
|
* @throws ParseException
|
|
|
|
|
* @throws IOException
|
|
|
|
|
*/
|
|
|
|
|
// public String sendPost(String url, Map<String,String> headers,String encoding){
|
|
|
|
|
// String body = "";
|
|
|
|
|
//
|
|
|
|
|
// BaseBean bb = new BaseBean();
|
|
|
|
|
// bb.writeLog("url ==" + url);
|
|
|
|
|
//
|
|
|
|
|
// //创建httpclient对象
|
|
|
|
|
// CloseableHttpClient client = HttpClients.createDefault();
|
|
|
|
|
// //创建post方式请求对象
|
|
|
|
|
// HttpPost httpPost = new HttpPost(url);
|
|
|
|
|
//
|
|
|
|
|
// //设置参数到请求对象中
|
|
|
|
|
// if (headers != null && headers.size() > 0) {
|
|
|
|
|
// for (Map.Entry<String, String> entry : headers.entrySet()) {
|
|
|
|
|
// bb.writeLog("key:"+entry.getKey());
|
|
|
|
|
// bb.writeLog("val:"+entry.getValue());
|
|
|
|
|
// httpPost.addHeader(entry.getKey(),entry.getValue());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// //设置header信息
|
|
|
|
|
// //指定报文头【Content-type】、【User-Agent】
|
|
|
|
|
//// httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
|
|
|
|
|
//
|
|
|
|
|
// //执行请求操作,并拿到结果(同步阻塞)
|
|
|
|
|
// CloseableHttpResponse response = null;
|
|
|
|
|
// try {
|
|
|
|
|
//
|
|
|
|
|
// response = client.execute(httpPost);
|
|
|
|
|
// bb.writeLog(response.getStatusLine().getStatusCode());
|
|
|
|
|
// //获取结果实体
|
|
|
|
|
// HttpEntity entity = response.getEntity();
|
|
|
|
|
// if (entity != null) {
|
|
|
|
|
// //按指定编码转换结果实体为String类型
|
|
|
|
|
// body = EntityUtils.toString(entity, encoding);
|
|
|
|
|
// }
|
|
|
|
|
// EntityUtils.consume(entity);
|
|
|
|
|
// //释放链接
|
|
|
|
|
// response.close();
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// bb.writeLog("e:"+e);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// return body;
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 向指定URL发送GET方法的请求
|
|
|
|
|
*
|
|
|
|
|
* @param url
|
|
|
|
|
* 发送请求的URL
|
|
|
|
|
* 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
|
|
|
|
|
* @return result 所代表远程资源的响应结果
|
|
|
|
|
*/
|
|
|
|
|
// public String sendGet(String url, Map<String,String> headers,String uid) {
|
|
|
|
|
// String result = "";
|
|
|
|
|
// BufferedReader in = null;
|
|
|
|
|
//
|
|
|
|
|
// BaseBean bb = new BaseBean();
|
|
|
|
|
// bb.writeLog("url ==" + url);
|
|
|
|
|
// bb.writeLog("uid ==" + uid);
|
|
|
|
|
// try {
|
|
|
|
|
// String urlNameString = url ;
|
|
|
|
|
// URL realUrl = new URL(urlNameString); // 打开和URL之间的连接
|
|
|
|
|
// HttpURLConnection connection= (HttpURLConnection) realUrl.openConnection();
|
|
|
|
|
// connection.setRequestProperty("accept", "*/*");
|
|
|
|
|
// connection.setRequestProperty("connection", "Keep-Alive");
|
|
|
|
|
// connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
|
|
|
|
|
//
|
|
|
|
|
// connection.setDoOutput(true);
|
|
|
|
|
// connection.setDoInput(true);
|
|
|
|
|
// connection.setUseCaches(false);
|
|
|
|
|
// connection.setRequestMethod("GET");
|
|
|
|
|
//
|
|
|
|
|
// //connection.addRequestProperty("Cookie", "SESSION="+uid);
|
|
|
|
|
//
|
|
|
|
|
// if (headers != null && headers.size() > 0)
|
|
|
|
|
// {
|
|
|
|
|
// for (Map.Entry<String, String> entry : headers.entrySet()) {
|
|
|
|
|
// bb.writeLog("key:"+entry.getKey());
|
|
|
|
|
// bb.writeLog("val:"+entry.getValue());
|
|
|
|
|
// connection.addRequestProperty(entry.getKey(), entry.getValue());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// // 建立实际的连接
|
|
|
|
|
// connection.connect();
|
|
|
|
|
// // 获取所有响应头字段
|
|
|
|
|
// //Map<String, List<String>> map = connection.getHeaderFields();
|
|
|
|
|
// // 遍历所有的响应头字段
|
|
|
|
|
// //for (String key : map.keySet()) {
|
|
|
|
|
// // System.out.println(key + "--->" + map.get(key));
|
|
|
|
|
// //}
|
|
|
|
|
// // 定义 BufferedReader输入流来读取URL的响应
|
|
|
|
|
// in = new BufferedReader(new InputStreamReader(
|
|
|
|
|
// connection.getInputStream(),"UTF-8"));
|
|
|
|
|
// String line;
|
|
|
|
|
// while ((line = in.readLine()) != null) {
|
|
|
|
|
// result += line;
|
|
|
|
|
// }
|
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// bb.writeLog("发送GET请求出现异常!" + e);
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// // 使用finally块来关闭输入流
|
|
|
|
|
// finally {
|
|
|
|
|
// try {
|
|
|
|
|
// if (in != null) {
|
|
|
|
|
// in.close();
|
|
|
|
|
// }
|
|
|
|
|
// } catch (Exception e2) {
|
|
|
|
|
// e2.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// return result;
|
|
|
|
|
// }
|
|
|
|
|
int code = response.code();
|
|
|
|
|
String bodyMsg = response.body().string();
|
|
|
|
|
bb.writeLog("PortalLoginFilter-response.code():"+code);
|
|
|
|
|
bb.writeLog("PortalLoginFilter-response.body():"+bodyMsg);
|
|
|
|
|
if(code == 200){
|
|
|
|
|
msgData = bodyMsg;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return msgData;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
*
|
|
|
|
|
* @param url
|
|
|
|
|
* @param headers
|
|
|
|
|
* @param encode
|
|
|
|
|
* @return
|
|
|
|
|
* @param request
|
|
|
|
|
* @param staffCode
|
|
|
|
|
* @param uid
|
|
|
|
|
*/
|
|
|
|
|
public String httpGet1(String url, Map<String,String> headers, String encode){
|
|
|
|
|
|
|
|
|
|
BaseBean bb = new BaseBean();
|
|
|
|
|
//bb.writeLog("url",url);
|
|
|
|
|
if(encode == null){
|
|
|
|
|
encode = "UTF-8";
|
|
|
|
|
}
|
|
|
|
|
CloseableHttpResponse httpResponse = null;
|
|
|
|
|
CloseableHttpClient closeableHttpClient = null;
|
|
|
|
|
String content = null;
|
|
|
|
|
//since 4.3 不再使用 DefaultHttpClient
|
|
|
|
|
try {
|
|
|
|
|
closeableHttpClient = HttpClientBuilder.create().build();
|
|
|
|
|
HttpGet httpGet = new HttpGet(url);
|
|
|
|
|
//设置header
|
|
|
|
|
if (headers != null && headers.size() > 0) {
|
|
|
|
|
for (Map.Entry<String, String> entry : headers.entrySet()) {
|
|
|
|
|
httpGet.addHeader(entry.getKey(),entry.getValue());
|
|
|
|
|
}
|
|
|
|
|
public void loginUser(HttpServletRequest request,String staffCode,String uid,String resultCode){
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
if (!"".equals(staffCode))
|
|
|
|
|
{
|
|
|
|
|
User user_new = null;
|
|
|
|
|
String sql = "";
|
|
|
|
|
if ("admin".equals(staffCode)) {
|
|
|
|
|
staffCode = "sysadmin";
|
|
|
|
|
sql = " select * from hrmresourcemanager where loginid =? ";
|
|
|
|
|
} else {
|
|
|
|
|
sql = " select * from HrmResource where loginid =? ";
|
|
|
|
|
}
|
|
|
|
|
//bb.writeLog("sql:" + sql);
|
|
|
|
|
rs.executeQuery(sql, new Object[]{staffCode});
|
|
|
|
|
|
|
|
|
|
httpGet.setHeader("Accept", "*");
|
|
|
|
|
// httpGet.addHeader("Cookie","SESSION="+uid);
|
|
|
|
|
httpResponse = closeableHttpClient.execute(httpGet);
|
|
|
|
|
if (rs.next()) {
|
|
|
|
|
user_new = new User();
|
|
|
|
|
user_new.setUid(rs.getInt("id"));
|
|
|
|
|
user_new.setLoginid(rs.getString("loginid"));
|
|
|
|
|
user_new.setFirstname(rs.getString("firstname"));
|
|
|
|
|
user_new.setLastname(rs.getString("lastname"));
|
|
|
|
|
user_new.setAliasname(rs.getString("aliasname"));
|
|
|
|
|
user_new.setTitle(rs.getString("title"));
|
|
|
|
|
user_new.setTitlelocation(rs.getString("titlelocation"));
|
|
|
|
|
user_new.setSex(rs.getString("sex"));
|
|
|
|
|
user_new.setPwd(rs.getString("password"));
|
|
|
|
|
String languageidweaver = rs.getString("systemlanguage");
|
|
|
|
|
user_new.setLanguage(Util.getIntValue(languageidweaver, 0));
|
|
|
|
|
|
|
|
|
|
user_new.setTelephone(rs.getString("telephone"));
|
|
|
|
|
user_new.setMobile(rs.getString("mobile"));
|
|
|
|
|
user_new.setMobilecall(rs.getString("mobilecall"));
|
|
|
|
|
user_new.setEmail(rs.getString("email"));
|
|
|
|
|
user_new.setCountryid(rs.getString("countryid"));
|
|
|
|
|
user_new.setLocationid(rs.getString("locationid"));
|
|
|
|
|
user_new.setResourcetype(rs.getString("resourcetype"));
|
|
|
|
|
user_new.setStartdate(rs.getString("startdate"));
|
|
|
|
|
user_new.setEnddate(rs.getString("enddate"));
|
|
|
|
|
user_new.setContractdate(rs.getString("contractdate"));
|
|
|
|
|
user_new.setJobtitle(rs.getString("jobtitle"));
|
|
|
|
|
user_new.setJobgroup(rs.getString("jobgroup"));
|
|
|
|
|
user_new.setJobactivity(rs.getString("jobactivity"));
|
|
|
|
|
user_new.setJoblevel(rs.getString("joblevel"));
|
|
|
|
|
user_new.setSeclevel(rs.getString("seclevel"));
|
|
|
|
|
user_new.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
|
|
|
|
|
user_new.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
|
|
|
|
|
user_new.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
|
|
|
|
|
user_new.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
|
|
|
|
|
user_new.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
|
|
|
|
|
user_new.setManagerid(rs.getString("managerid"));
|
|
|
|
|
user_new.setAssistantid(rs.getString("assistantid"));
|
|
|
|
|
user_new.setPurchaselimit(rs.getString("purchaselimit"));
|
|
|
|
|
user_new.setCurrencyid(rs.getString("currencyid"));
|
|
|
|
|
user_new.setLastlogindate(rs.getString("currentdate"));
|
|
|
|
|
user_new.setLogintype("1");
|
|
|
|
|
user_new.setAccount(rs.getString("account"));
|
|
|
|
|
|
|
|
|
|
user_new.setLoginip(request.getRemoteAddr());
|
|
|
|
|
request.getSession(true).setMaxInactiveInterval(60 * 60 * 24);
|
|
|
|
|
request.getSession(true).setAttribute("weaver_user@bean", user_new);
|
|
|
|
|
request.getSession(true).setAttribute("weaver_uid", uid);
|
|
|
|
|
|
|
|
|
|
if(httpResponse.getStatusLine().getStatusCode() == 200){
|
|
|
|
|
//bb.writeLog(httpResponse.getStatusLine().getStatusCode());
|
|
|
|
|
HttpEntity entity = httpResponse.getEntity();
|
|
|
|
|
content = EntityUtils.toString(entity, encode);
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
bb.writeLog("er333:"+e);
|
|
|
|
|
}finally{
|
|
|
|
|
try {
|
|
|
|
|
httpResponse.close();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
try { //关闭连接、释放资源
|
|
|
|
|
closeableHttpClient.close();
|
|
|
|
|
} catch (IOException e) {
|
|
|
|
|
e.printStackTrace();
|
|
|
|
|
}
|
|
|
|
|
return content;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
/****
|
|
|
|
|
*
|
|
|
|
|
* @param url
|
|
|
|
|
* @param headers
|
|
|
|
|
* @param encode
|
|
|
|
|
* @return
|
|
|
|
|
* @param request
|
|
|
|
|
* @param response
|
|
|
|
|
* @param application
|
|
|
|
|
*/
|
|
|
|
|
// public String httpGet2(String url,Map<String,String> headers,String encode)
|
|
|
|
|
// {
|
|
|
|
|
//
|
|
|
|
|
// BaseBean bb = new BaseBean();
|
|
|
|
|
// bb.writeLog("url",url);
|
|
|
|
|
// if(encode == null){
|
|
|
|
|
// encode = "UTF-8";
|
|
|
|
|
// }
|
|
|
|
|
// CloseableHttpResponse httpResponse = null;
|
|
|
|
|
// CloseableHttpClient closeableHttpClient = null;
|
|
|
|
|
// String content = null;
|
|
|
|
|
// //since 4.3 不再使用 DefaultHttpClient
|
|
|
|
|
// try {
|
|
|
|
|
// closeableHttpClient = HttpClientBuilder.create().build();
|
|
|
|
|
// HttpGet httpGet = new HttpGet(url);
|
|
|
|
|
// //设置header
|
|
|
|
|
// if (headers != null && headers.size() > 0) {
|
|
|
|
|
// for (Map.Entry<String, String> entry : headers.entrySet()) {
|
|
|
|
|
//
|
|
|
|
|
// bb.writeLog("key:"+entry.getKey());
|
|
|
|
|
// bb.writeLog("val:"+entry.getValue());
|
|
|
|
|
//
|
|
|
|
|
// httpGet.addHeader(entry.getKey(),entry.getValue());
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// httpGet.setHeader("Accept", "*");
|
|
|
|
|
//
|
|
|
|
|
// httpResponse = closeableHttpClient.execute(httpGet);
|
|
|
|
|
// if(httpResponse.getStatusLine().getStatusCode() == 200)
|
|
|
|
|
// {
|
|
|
|
|
// bb.writeLog(httpResponse.getStatusLine().getStatusCode());
|
|
|
|
|
// HttpEntity entity = httpResponse.getEntity();
|
|
|
|
|
// content = EntityUtils.toString(entity, encode);
|
|
|
|
|
// }
|
|
|
|
|
// } catch (Exception e) {
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// bb.writeLog("er333:"+e);
|
|
|
|
|
// }finally{
|
|
|
|
|
// try {
|
|
|
|
|
// httpResponse.close();
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// try { //关闭连接、释放资源
|
|
|
|
|
// closeableHttpClient.close();
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// return content;
|
|
|
|
|
// }
|
|
|
|
|
public void userSessionFilter(HttpServletRequest request, HttpServletResponse response, ServletContext application,String staffCode,String uid){
|
|
|
|
|
|
|
|
|
|
/***
|
|
|
|
|
*
|
|
|
|
|
* @param url
|
|
|
|
|
* @param jsonstr
|
|
|
|
|
* @return
|
|
|
|
|
*/
|
|
|
|
|
// public static String doPostByAuth(String url,String jsonstr,String auth){
|
|
|
|
|
// CloseableHttpClient httpClient = null;
|
|
|
|
|
// HttpPost httpPost = null;
|
|
|
|
|
// String result = null;
|
|
|
|
|
// try{
|
|
|
|
|
// String authStr = new String(Base64.encode(auth));
|
|
|
|
|
// httpClient = HttpClients.createDefault();
|
|
|
|
|
// httpPost = new HttpPost(url);
|
|
|
|
|
//// String head_param_encode = urlEncode(head_param);
|
|
|
|
|
// System.out.println("authStr:"+authStr);
|
|
|
|
|
// httpPost.addHeader("Connection", "Keep-Alive");
|
|
|
|
|
// httpPost.addHeader("Cache-Control", "No-Cache");
|
|
|
|
|
// httpPost.addHeader("Accept", "*/*");
|
|
|
|
|
// httpPost.addHeader("Content-Type", "application/json;charset=utf-8");
|
|
|
|
|
// httpPost.addHeader("Authorization", "Basic " + authStr);
|
|
|
|
|
// httpPost.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36");
|
|
|
|
|
// StringEntity se = new StringEntity(jsonstr);
|
|
|
|
|
// se.setContentType("application/json;charset=utf-8");
|
|
|
|
|
// httpPost.setEntity(se);
|
|
|
|
|
// HttpResponse response = httpClient.execute(httpPost);
|
|
|
|
|
// if(response != null){
|
|
|
|
|
// HttpEntity resEntity = response.getEntity();
|
|
|
|
|
// if(resEntity != null){
|
|
|
|
|
// result = EntityUtils.toString(resEntity,"utf-8");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }catch(Exception ex){
|
|
|
|
|
// ex.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// return result;
|
|
|
|
|
// }
|
|
|
|
|
String path = PropBean.getUfPropValue("ecologypath");
|
|
|
|
|
boolean isMutiLangua = Util.isEnableMultiLang();
|
|
|
|
|
//系统使用语言,未使用多语言的用户默认为中文。
|
|
|
|
|
int isLanguId = 8;
|
|
|
|
|
String languId = "8";
|
|
|
|
|
if (isMutiLangua) {
|
|
|
|
|
isLanguId = Util.getIntValue(request.getParameter("islanguid"), 0);
|
|
|
|
|
//如何未选择,则默认系统使用语言为简体中文
|
|
|
|
|
if (isLanguId == 0) {
|
|
|
|
|
isLanguId = 8;
|
|
|
|
|
}
|
|
|
|
|
languId = String.valueOf(isLanguId);
|
|
|
|
|
Cookie syslanid = new Cookie("Systemlanguid", languId);
|
|
|
|
|
syslanid.setMaxAge(-1);
|
|
|
|
|
syslanid.setPath(path);
|
|
|
|
|
response.addCookie(syslanid);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RecordSet rs = new RecordSet();
|
|
|
|
|
RecordSet rslog = new RecordSet();
|
|
|
|
|
|
|
|
|
|
User newUser = null;
|
|
|
|
|
String loginUserId = "" ;
|
|
|
|
|
String loginName = "" ;
|
|
|
|
|
String sql = "";
|
|
|
|
|
if ("admin".equals(staffCode)) {
|
|
|
|
|
staffCode = "sysadmin";
|
|
|
|
|
sql = " select * from hrmresourcemanager where loginid =? ";
|
|
|
|
|
} else {
|
|
|
|
|
sql = " select * from HrmResource where loginid =? ";
|
|
|
|
|
}
|
|
|
|
|
rs.executeQuery(sql,new Object[]{staffCode});
|
|
|
|
|
if (rs.next())
|
|
|
|
|
{
|
|
|
|
|
newUser = new User();
|
|
|
|
|
loginUserId = Util.null2String(rs.getInt("id"));
|
|
|
|
|
loginName = Util.null2String(rs.getInt("lastname"));
|
|
|
|
|
newUser.setUid(rs.getInt("id"));
|
|
|
|
|
newUser.setLoginid(rs.getString("loginid"));
|
|
|
|
|
newUser.setPwd(rs.getString("password"));
|
|
|
|
|
newUser.setFirstname(rs.getString("firstname"));
|
|
|
|
|
newUser.setLastname(rs.getString("lastname"));
|
|
|
|
|
newUser.setAliasname(rs.getString("aliasname"));
|
|
|
|
|
newUser.setTitle(rs.getString("title"));
|
|
|
|
|
newUser.setTitlelocation(rs.getString("titlelocation"));
|
|
|
|
|
newUser.setSex(rs.getString("sex"));
|
|
|
|
|
newUser.setPwd(rs.getString("password"));
|
|
|
|
|
String languageIdWeaver = rs.getString("systemlanguage");
|
|
|
|
|
newUser.setLanguage(Util.getIntValue(languageIdWeaver, 8));
|
|
|
|
|
if (!languId.equalsIgnoreCase(languageIdWeaver) && isMutiLangua) {
|
|
|
|
|
User.setUserLang(rs.getInt("id"), Util.getIntValue(languId, 8));
|
|
|
|
|
languageIdWeaver = languId;
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
newUser.setTelephone(rs.getString("telephone"));
|
|
|
|
|
newUser.setMobile(rs.getString("mobile"));
|
|
|
|
|
newUser.setMobilecall(rs.getString("mobilecall"));
|
|
|
|
|
newUser.setEmail(rs.getString("email"));
|
|
|
|
|
newUser.setCountryid(rs.getString("countryid"));
|
|
|
|
|
newUser.setLocationid(rs.getString("locationid"));
|
|
|
|
|
newUser.setResourcetype(rs.getString("resourcetype"));
|
|
|
|
|
|
|
|
|
|
newUser.setStartdate(rs.getString("startdate"));
|
|
|
|
|
newUser.setEnddate(rs.getString("enddate"));
|
|
|
|
|
newUser.setContractdate(rs.getString("contractdate"));
|
|
|
|
|
newUser.setJobtitle(rs.getString("jobtitle"));
|
|
|
|
|
newUser.setJobgroup(rs.getString("jobgroup"));
|
|
|
|
|
newUser.setJobactivity(rs.getString("jobactivity"));
|
|
|
|
|
newUser.setJoblevel(rs.getString("joblevel"));
|
|
|
|
|
newUser.setSeclevel(rs.getString("seclevel"));
|
|
|
|
|
newUser.setUserDepartment(Util.getIntValue(rs.getString("departmentid"), 0));
|
|
|
|
|
newUser.setUserSubCompany1(Util.getIntValue(rs.getString("subcompanyid1"), 0));
|
|
|
|
|
newUser.setUserSubCompany2(Util.getIntValue(rs.getString("subcompanyid2"), 0));
|
|
|
|
|
newUser.setUserSubCompany3(Util.getIntValue(rs.getString("subcompanyid3"), 0));
|
|
|
|
|
newUser.setUserSubCompany4(Util.getIntValue(rs.getString("subcompanyid4"), 0));
|
|
|
|
|
newUser.setManagerid(rs.getString("managerid"));
|
|
|
|
|
newUser.setAssistantid(rs.getString("assistantid"));
|
|
|
|
|
newUser.setPurchaselimit(rs.getString("purchaselimit"));
|
|
|
|
|
newUser.setCurrencyid(rs.getString("currencyid"));
|
|
|
|
|
newUser.setLastlogindate(rs.getString("currentdate"));
|
|
|
|
|
newUser.setLogintype("1");
|
|
|
|
|
newUser.setAccount(rs.getString("account"));
|
|
|
|
|
newUser.setLoginip(request.getRemoteAddr());
|
|
|
|
|
String weaverLoginType = Util.null2String(request.getSession(true).getAttribute("weaver_login_type"));
|
|
|
|
|
if("".equals(weaverLoginType)){
|
|
|
|
|
weaverLoginType = "1";
|
|
|
|
|
}
|
|
|
|
|
request.getSession(true).setAttribute("weaver_login_type", weaverLoginType);
|
|
|
|
|
request.getSession(true).setAttribute("weaver_user@bean", newUser);
|
|
|
|
|
request.getSession(true).setAttribute("rtxlogin", "1");
|
|
|
|
|
request.getSession(true).setAttribute("weaver_uid", uid);
|
|
|
|
|
|
|
|
|
|
Util.setCookie(response, "loginidweaver", newUser.getUID() + "", -1);
|
|
|
|
|
Util.setCookie(response, "languageidweaver", Util.null2s(languageIdWeaver, "8"), -1);
|
|
|
|
|
|
|
|
|
|
HttpSession session = request.getSession(true);
|
|
|
|
|
session.removeAttribute("validateRand");
|
|
|
|
|
session.setAttribute("isie", Util.null2String(request.getParameter("isie")));
|
|
|
|
|
session.setAttribute("browser_isie", Util.null2String(request.getParameter("isie")));
|
|
|
|
|
|
|
|
|
|
// public static String urlEncode(String url) throws UnsupportedEncodingException {
|
|
|
|
|
// if(url == null) {
|
|
|
|
|
// return null;
|
|
|
|
|
// }
|
|
|
|
|
// final String reserved_char = ";/?:@=&";
|
|
|
|
|
// String ret = "";
|
|
|
|
|
// for(int i=0; i < url.length(); i++) {
|
|
|
|
|
// String cs = String.valueOf( url.charAt(i) );
|
|
|
|
|
// if(reserved_char.contains(cs)){
|
|
|
|
|
// ret += cs;
|
|
|
|
|
// }else{
|
|
|
|
|
// ret += URLEncoder.encode(cs, "utf-8");
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// return ret.replace("+", "%20");
|
|
|
|
|
// }
|
|
|
|
|
Calendar today = Calendar.getInstance();
|
|
|
|
|
String currentdate = Util.add0(today.get(1), 4) + "-" + Util.add0(today.get(2) + 1, 2) + "-" + Util.add0(today.get(5), 2);
|
|
|
|
|
char separater = Util.getSeparator();
|
|
|
|
|
rslog.execute("HrmResource_UpdateLoginDate", loginUserId + separater + currentdate);
|
|
|
|
|
|
|
|
|
|
boolean moreAccountLanding = GCONST.getMOREACCOUNTLANDING();
|
|
|
|
|
if (moreAccountLanding) {
|
|
|
|
|
if (newUser.getUID() != 1) {
|
|
|
|
|
VerifyLogin verifyLogin = new VerifyLogin();
|
|
|
|
|
List accounts = verifyLogin.getAccountsById(newUser.getUID());
|
|
|
|
|
request.getSession(true).setAttribute("accounts", accounts);
|
|
|
|
|
}
|
|
|
|
|
Util.setCookie(response, "loginidweaver", newUser.getUID()+"", -1);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Map userSessions = (Map) application.getAttribute("userSessions");
|
|
|
|
|
String uId = String.valueOf(newUser.getUID());
|
|
|
|
|
if (userSessions == null) {
|
|
|
|
|
userSessions = new java.util.concurrent.ConcurrentHashMap();
|
|
|
|
|
}
|
|
|
|
|
List slist = (List) userSessions.get(uId);
|
|
|
|
|
slist = slist == null ? new ArrayList() : slist;
|
|
|
|
|
slist.add(session);
|
|
|
|
|
userSessions.put(uId, slist);
|
|
|
|
|
application.setAttribute("userSessions", userSessions);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// public String doPostByAuth2(String dataJson){
|
|
|
|
|
// BaseBean bb = new BaseBean();
|
|
|
|
|
// String msgData = "" ;
|
|
|
|
|
// OkHttpClient client = new OkHttpClient().newBuilder()
|
|
|
|
|
// .build();
|
|
|
|
|
// MediaType mediaType = MediaType.parse("application/json");
|
|
|
|
|
// RequestBody body = RequestBody.create(mediaType, dataJson);
|
|
|
|
|
// Request request = new Request.Builder()
|
|
|
|
|
// .url("http://172.16.25.133/portal-web/centerTodo/sync")
|
|
|
|
|
// .method("POST", body)
|
|
|
|
|
// .addHeader("Authorization", "Basic YWRtaW46VXBvcnRhbF8xMjM=")
|
|
|
|
|
// .addHeader("Content-Type", "application/json")
|
|
|
|
|
// .build();
|
|
|
|
|
// try {
|
|
|
|
|
// Response response = client.newCall(request).execute();
|
|
|
|
|
// bb.writeLog("response.code():"+response.code());
|
|
|
|
|
// bb.writeLog("response.body():"+response.body().string());
|
|
|
|
|
//
|
|
|
|
|
// msgData = response.body().string();
|
|
|
|
|
// } catch (IOException e) {
|
|
|
|
|
// e.printStackTrace();
|
|
|
|
|
// }
|
|
|
|
|
// return msgData;
|
|
|
|
|
// }
|
|
|
|
|
if(!"".equals(loginUserId))
|
|
|
|
|
{
|
|
|
|
|
LoginUtil.recordLogin(Util.getIntValue(loginUserId),loginName,request.getRemoteAddr());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|