From b992be47496a1a37b71dade4df9fb0f9de40441c Mon Sep 17 00:00:00 2001 From: shilei <798989044@qq.com> Date: Mon, 10 Oct 2022 16:36:30 +0800 Subject: [PATCH] =?UTF-8?q?#EC=5FHJ3#=20=E4=BC=98=E5=8C=96=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E6=8B=A6=E6=88=AAfilter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 25 ++ WEB-INF/prop/PORTAL_INFO.properties | 5 +- .../filter/PortalLoginBeforeFilter.java | 42 ++- .../interfaces/filter/PortalLoginFilter.java | 320 ++++++++---------- 4 files changed, 209 insertions(+), 183 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..eaf568b0 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +# ---> Java +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* +replay_pid* + diff --git a/WEB-INF/prop/PORTAL_INFO.properties b/WEB-INF/prop/PORTAL_INFO.properties index 7936e7b3..ee2b5c0f 100644 --- a/WEB-INF/prop/PORTAL_INFO.properties +++ b/WEB-INF/prop/PORTAL_INFO.properties @@ -35,4 +35,7 @@ passwd = Uportal_123 bpm_workflowurl = http://172.16.25.133/bpm ## 门户待办类型 -center = MCCM \ No newline at end of file +center = MCCM + + +bpm_host_array = 10.10.192.187 \ No newline at end of file diff --git a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java index 14b23dff..0d19fcf3 100644 --- a/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java +++ b/src/weaver/interfaces/filter/PortalLoginBeforeFilter.java @@ -18,10 +18,18 @@ import java.util.Map; public class PortalLoginBeforeFilter implements Filter { - + private List bpmHostList = new ArrayList(); @Override public void init(FilterConfig filterConfig) throws ServletException { - + BaseBean bb = new BaseBean(); + String bpm_host_array = bb.getPropValue("PORTAL_INFO","bpm_host_array"); + if(!"".equals(bpm_host_array)) + { + String[] bpm_host_arr = bpm_host_array.split(";"); + for(int i=0;i uncheckurl_list = new ArrayList(); private List uncheck_sessionurl_list = new ArrayList(); private List uncheck_sessionurl_custom_list = new ArrayList(); + private List bpmHostList = new ArrayList(); private String path = "/bpm" ; + private String portal_homepage = "" ; + private String portal_user_auth = "" ; @Override public void init(FilterConfig filterConfig) throws ServletException { @@ -30,9 +34,11 @@ public class PortalLoginFilter implements Filter this.application = filterConfig.getServletContext(); BaseBean bb = new BaseBean(); + portal_homepage = bb.getPropValue("PORTAL_INFO","portal_homepage"); + portal_user_auth = bb.getPropValue("PORTAL_INFO","portal_user_auth"); + String uncheck_init = bb.getPropValue("weaver_session_filter","uncheckurl"); if(!"".equals(uncheck_init)){ - String[] uncheck_url_arr = uncheck_init.split(";"); for(int i=0;i headMap = new HashMap(); + headMap.put("Cookie","SESSION="+uid); + String msg = HttpRequestUtil.httpGet1(portal_user_auth,headMap,"UTF-8"); + if(!"".equals(msg)) { - try{ - - String url = bb.getPropValue("PORTAL_INFO","portal_user_auth"); - bb.writeLog("url:"+url); - //String url = "http://172.16.25.133/portal-web/user/current" ; - HttpRequestUtil HttpRequestUtil = new HttpRequestUtil(); - Map headMap = new HashMap(); - headMap.put("Cookie","SESSION="+uid); - String msg = HttpRequestUtil.httpGet1(url,headMap,"UTF-8"); - if(!"".equals(msg)) - { - JSONObject jsonObject = JSONObject.parseObject(msg); - if("1".equals(jsonObject.getString("resultCode"))) - { - JSONObject resultObject = jsonObject.getJSONObject("resultObject"); - String staffCode = resultObject.getString("staffCode"); - 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}); - 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); - - }else{ - response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 - response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); - response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 - response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); - response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. - response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); - response.sendRedirect(portal_homepage); - return; - } - }else{ - - response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 - response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); - response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 - response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); - response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. - response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); - - response.sendRedirect(portal_homepage); - return; - } + JSONObject jsonObject = JSONObject.parseObject(msg); + if("1".equals(jsonObject.getString("resultCode"))) + { + JSONObject resultObject = jsonObject.getJSONObject("resultObject"); + String staffCode = resultObject.getString("staffCode"); + if(!"".equals(staffCode)){ + User user_new = null; + String sql = "" ; + if("admin".equals(staffCode)){ + staffCode = "sysadmin"; + sql = " select * from hrmresourcemanager where loginid =? "; }else{ - - response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 - response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); - response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 - response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); - response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. - response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); - response.sendRedirect(portal_homepage); - return; + sql = " select * from HrmResource where loginid =? "; + } + bb.writeLog("sql:"+sql); + rs.executeQuery(sql,new Object[]{staffCode}); + 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); } - }else{ - - response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 - response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); - response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 - response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); - response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. - response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); - - response.sendRedirect(portal_homepage); - return; } - }catch (Exception e3){ - bb.writeLog("e---2:"+e3); } }else{ - response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); - - String url = portal_homepage; - response.sendRedirect(url); + response.sendRedirect(portal_homepage); return; } + }else{ +// response.setHeader("Access-Control-Allow-Origin", "*"); //解决跨域访问报错 +// response.setHeader("Access-Control-Allow-Methods", "POST, PUT, GET, OPTIONS, DELETE"); +// response.setHeader("Access-Control-Max-Age", "3600"); //设置过期时间 +// response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, client_id, uuid, Authorization"); +// response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // 支持HTTP 1.1. +// response.setHeader("Pragma", "no-cache"); // 支持HTTP 1.0. response.setHeader("Expires", "0"); + + response.sendRedirect(portal_homepage); + return; } } -// } + } filterChain.doFilter(request, response); }