18 changed files with 1405 additions and 1 deletions
@ -1,3 +1,6 @@
|
||||
# open-JSD-9305 |
||||
|
||||
JSD-9305 CAS单点情况下放行部分报表请求 |
||||
JSD-9305 CAS单点情况下放行部分报表请求\ |
||||
免责说明:该源码为第三方爱好者提供,不保证源码和方案的可靠性,也不提供任何形式的源码教学指导和协助!\ |
||||
仅作为开发者学习参考使用!禁止用于任何商业用途!\ |
||||
为保护开发者隐私,开发者信息已隐去!若原开发者希望公开自己的信息,可联系hugh处理。 |
Binary file not shown.
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?><plugin> |
||||
<id>com.fr.plugin.logins</id> |
||||
<name><![CDATA[单点登录]]></name> |
||||
<active>yes</active> |
||||
<version>1.6.0</version> |
||||
<env-version>10.0</env-version> |
||||
<jartime>2018-07-31</jartime> |
||||
<vendor>fr.open</vendor> |
||||
<extra-decision> |
||||
<GlobalRequestFilterProvider class="com.fr.plugin.cg.login.LoginRequestFilter"/> |
||||
<!--<LogInOutEventProvider class="com.fr.plugin.cg.login.LogInOutEventProvider"/>--> |
||||
</extra-decision> |
||||
<function-recorder class="com.fr.plugin.cg.login.LoginRequestFilter"/> |
||||
</plugin> |
@ -0,0 +1,18 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login; |
||||
|
||||
public class Constants { |
||||
public static final String PLUGIN_ID = "com.fr.plugin.cg.login"; |
||||
|
||||
public Constants() { |
||||
} |
||||
|
||||
public interface GrantType { |
||||
String AUTHORIZATION_CODE = "authorization_code"; |
||||
String REFRESH_TOKEN = "refresh_token"; |
||||
} |
||||
} |
@ -0,0 +1,201 @@
|
||||
package com.fr.plugin.cg.login; |
||||
|
||||
|
||||
import com.alibaba.fastjson.JSON; |
||||
import com.fr.decision.fun.impl.AbstractGlobalRequestFilterProvider; |
||||
import com.fr.intelli.record.Focus; |
||||
import com.fr.intelli.record.Original; |
||||
import com.fr.log.FineLoggerFactory; |
||||
import com.fr.plugin.cg.login.utils.FilterHelper; |
||||
import com.fr.plugin.cg.login.utils.HttpClientUtils; |
||||
import com.fr.plugin.cg.login.utils.JsonRootBean; |
||||
import com.fr.plugin.cg.login.utils.Util; |
||||
import com.fr.record.analyzer.EnableMetrics; |
||||
import com.fr.stable.StringUtils; |
||||
import com.fr.web.utils.WebUtils; |
||||
|
||||
import java.io.IOException; |
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
import javax.servlet.FilterChain; |
||||
import javax.servlet.FilterConfig; |
||||
import javax.servlet.ServletException; |
||||
import javax.servlet.http.Cookie; |
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
|
||||
@EnableMetrics |
||||
public class LoginRequestFilter extends AbstractGlobalRequestFilterProvider { |
||||
public LoginRequestFilter() { |
||||
} |
||||
|
||||
public void init(FilterConfig var1) { |
||||
} |
||||
|
||||
public String filterName() { |
||||
return "LoginRequestFilter"; |
||||
} |
||||
|
||||
public String[] urlPatterns() { |
||||
return new String[]{"/*"}; |
||||
} |
||||
|
||||
@Focus( |
||||
id = "com.fr.plugin.cg.login", |
||||
text = "单点登录", |
||||
source = Original.PLUGIN |
||||
) |
||||
public void doFilter(HttpServletRequest req, HttpServletResponse res, FilterChain filterChain) { |
||||
res.setHeader("Access-Control-Allow-Origin", "*"); |
||||
res.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS"); |
||||
res.setHeader("Access-Control-Allow-Headers", "Content-Type, Content-Length, Authorization, Accept, X-Requested-With, clientType"); |
||||
String token = req.getParameter("uaaToken"); |
||||
FilterHelper helper = new FilterHelper(); |
||||
String redirectUrl = Util.SendRedirect; |
||||
String loginUserUrl; |
||||
String apiResp; |
||||
if (StringUtils.isNotEmpty(token)) { |
||||
loginUserUrl = Util.BaseUrl + "oauth/token/validity"; |
||||
FineLoggerFactory.getLogger().debug("uaaTOken url:" + loginUserUrl); |
||||
apiResp = ""; |
||||
|
||||
try { |
||||
apiResp = HttpClientUtils.doPostJson(loginUserUrl, token, null); |
||||
} catch (Exception var19) { |
||||
} |
||||
|
||||
FineLoggerFactory.getLogger().debug("rtnStr:" + apiResp); |
||||
if (StringUtils.contains(apiResp,"true") ) { |
||||
loginUserUrl = Util.UserUrl + "acc/org/login-user"; |
||||
Map<String,String> var9 = new HashMap(); |
||||
var9.put("Authorization", "Bearer " + token); |
||||
FineLoggerFactory.getLogger().debug("Authorization:Bearer " + token); |
||||
String userJson = HttpClientUtils.get(loginUserUrl, null, var9); |
||||
FineLoggerFactory.getLogger().info("Login user resp json:" + userJson); |
||||
if (StringUtils.isEmpty(userJson)) { |
||||
try { |
||||
res.sendRedirect(redirectUrl); |
||||
} catch (Exception var18) { |
||||
FineLoggerFactory.getLogger().info(var18.getMessage()); |
||||
} |
||||
} else { |
||||
JsonRootBean userBean = JSON.parseObject(userJson, JsonRootBean.class); |
||||
//如果用户扩展信息不包含bi平台就单点去登陆地址??
|
||||
if (!userBean.getUserExtInfo().getSsoSystems().contains("biplatform")) { |
||||
try { |
||||
res.sendRedirect(redirectUrl); |
||||
} catch (Exception var17) { |
||||
FineLoggerFactory.getLogger().info(var17.getMessage()); |
||||
} |
||||
} else { |
||||
String username = userBean.getUserInfo().getUsername(); |
||||
|
||||
try { |
||||
req.getSession().setAttribute("account", username); |
||||
FilterHelper.login(username, req, res); |
||||
String goUrl = helper.decisionForwarding(req, res, username); |
||||
if (StringUtils.isNotEmpty(goUrl)) { |
||||
res.sendRedirect(goUrl); |
||||
return; |
||||
} |
||||
filterChain.doFilter(req, res); |
||||
return; |
||||
} catch (Exception var23) { |
||||
FineLoggerFactory.getLogger().info(var23.getMessage()); |
||||
} |
||||
} |
||||
} |
||||
} else { |
||||
try { |
||||
res.sendRedirect(redirectUrl); |
||||
} catch (Exception var16) { |
||||
FineLoggerFactory.getLogger().error("跳转异常:", var16); |
||||
} |
||||
} |
||||
} else { |
||||
loginUserUrl = (String) req.getSession().getAttribute("account"); |
||||
if (StringUtils.isNotBlank(loginUserUrl)) { |
||||
try { |
||||
apiResp = helper.decisionForwarding(req, res, loginUserUrl); |
||||
FilterHelper.login(loginUserUrl, req, res); |
||||
if (StringUtils.isNotEmpty(apiResp)) { |
||||
res.sendRedirect(apiResp); |
||||
return; |
||||
} |
||||
|
||||
filterChain.doFilter(req, res); |
||||
return; |
||||
} catch (Exception var22) { |
||||
FineLoggerFactory.getLogger().info(var22.getMessage()); |
||||
} |
||||
} else { |
||||
String screenDisplay = WebUtils.getHTTPRequestParameter(req, "screenDisplay"); |
||||
if (StringUtils.equals(screenDisplay, "true")) { |
||||
try { |
||||
Cookie cookie = new Cookie("screenDisplay", "true"); |
||||
cookie.setMaxAge(-1); |
||||
res.addCookie(cookie); |
||||
filterChain.doFilter(req, res); |
||||
return; |
||||
} catch (ServletException | IOException var21) { |
||||
FineLoggerFactory.getLogger().error("请求放行出错!", var21); |
||||
} |
||||
} |
||||
|
||||
Cookie[] cookies = req.getCookies(); |
||||
Cookie[] var27 = cookies; |
||||
int var28 = cookies.length; |
||||
|
||||
for (int var29 = 0; var29 < var28; ++var29) { |
||||
Cookie c = var27[var29]; |
||||
if (c.getName().equals("screenDisplay")) { |
||||
screenDisplay = c.getValue(); |
||||
} |
||||
} |
||||
|
||||
if ( StringUtils.equals(screenDisplay,"true")) { |
||||
FineLoggerFactory.getLogger().info("有cookie放行地址 " + req.getRequestURL()); |
||||
try { |
||||
filterChain.doFilter(req, res); |
||||
return; |
||||
} catch (ServletException | IOException var20) { |
||||
FineLoggerFactory.getLogger().error("请求放行出错!", var20); |
||||
} |
||||
} |
||||
|
||||
try { |
||||
//只有需要拦截的地址才拦截,否则全部放行
|
||||
if(needFilter(req)){ |
||||
res.sendRedirect(redirectUrl); |
||||
}else{ |
||||
filterChain.doFilter(req, res); |
||||
return; |
||||
} |
||||
} catch (Exception var15) { |
||||
FineLoggerFactory.getLogger().info(var15.getMessage()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
private boolean needFilter(HttpServletRequest request) { |
||||
String requestURI = request.getRequestURI(); |
||||
if (StringUtils.isNotBlank(requestURI) && request.getMethod().equals("GET")) { |
||||
if (requestURI.endsWith("decision")) { |
||||
return true; |
||||
} |
||||
if (requestURI.endsWith("/view/form") || requestURI.endsWith("/view/report")) { |
||||
if (StringUtils.isNotBlank(request.getParameter("viewlet"))) { |
||||
return true; |
||||
} |
||||
} |
||||
if (requestURI.contains("/v10/entry/access/") && request.getMethod().equals("GET")) { |
||||
return true; |
||||
} |
||||
if (requestURI.contains("/v5/design/report") && (requestURI.endsWith("/edit")|| requestURI.endsWith("/view"))) { |
||||
return true; |
||||
} |
||||
} |
||||
return false; |
||||
} |
||||
} |
@ -0,0 +1,162 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import com.fr.data.NetworkHelper; |
||||
import com.fr.decision.authority.data.User; |
||||
import com.fr.decision.mobile.terminal.TerminalHandler; |
||||
import com.fr.decision.webservice.exception.user.UserNotExistException; |
||||
import com.fr.decision.webservice.v10.login.LoginService; |
||||
import com.fr.decision.webservice.v10.login.TokenResource; |
||||
import com.fr.decision.webservice.v10.user.UserService; |
||||
import com.fr.general.ComparatorUtils; |
||||
import com.fr.io.utils.ResourceIOUtils; |
||||
import com.fr.json.JSONObject; |
||||
import com.fr.log.FineLoggerFactory; |
||||
import com.fr.security.JwtUtils; |
||||
import com.fr.stable.StringUtils; |
||||
import com.fr.stable.web.Device; |
||||
import com.fr.web.utils.WebUtils; |
||||
import java.io.File; |
||||
import java.io.FileInputStream; |
||||
import java.io.IOException; |
||||
import java.io.PrintWriter; |
||||
import java.util.Properties; |
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import javax.servlet.http.HttpSession; |
||||
|
||||
public class FilterHelper { |
||||
public OracleJdbcTest oracleJdbcTest = new OracleJdbcTest(); |
||||
public static String Sql = null; |
||||
public static String Sqls = null; |
||||
private static final String[] RELEASE_PATH; |
||||
|
||||
public FilterHelper() { |
||||
} |
||||
|
||||
public String decisionForwarding(HttpServletRequest request, HttpServletResponse response, String userId) throws IOException { |
||||
response.setCharacterEncoding("utf-8"); |
||||
response.setHeader("Content-type", "text/html;charset=UTF-8"); |
||||
String sysname = request.getParameter("sysname"); |
||||
String syslocal = request.getParameter("syslocal"); |
||||
if (!StringUtils.isEmpty(sysname) && !StringUtils.isEmpty(syslocal) && !StringUtils.isEmpty(userId)) { |
||||
String var6 = ""; |
||||
String sql1 = Sql + "'" + syslocal + "' and SYS_NAME ='" + sysname + "' AND USER_ID ='" + userId + "'"; |
||||
String sql2 = Sqls + " AND USER_ID ='" + userId + "'"; |
||||
var6 = this.oracleJdbcTest.queryStri(sql1, true); |
||||
if (StringUtils.isNotEmpty(var6)) { |
||||
return var6; |
||||
} else { |
||||
var6 = this.oracleJdbcTest.queryStri(sql2, true); |
||||
if (StringUtils.isEmpty(var6)) { |
||||
FineLoggerFactory.getLogger().info("找不到数据"); |
||||
return ""; |
||||
} else { |
||||
FineLoggerFactory.getLogger().info("显示当前的跳转界面" + var6); |
||||
return var6; |
||||
} |
||||
} |
||||
} else { |
||||
// FineLoggerFactory.getLogger().info("放回的数据为空");
|
||||
return ""; |
||||
} |
||||
} |
||||
|
||||
public static void printMessage(HttpServletResponse var0, String var1, String var2) throws IOException { |
||||
var0.setCharacterEncoding("utf-8"); |
||||
var0.setHeader("Content-type", "text/html;charset=UTF-8"); |
||||
JSONObject var3 = JSONObject.create(); |
||||
var3.put("code", var1); |
||||
var3.put("error", var2); |
||||
PrintWriter var4 = WebUtils.createPrintWriter(var0); |
||||
var4.println(var3.toString()); |
||||
var4.flush(); |
||||
var4.close(); |
||||
} |
||||
|
||||
public static void logout(HttpServletRequest var0, HttpServletResponse var1) throws Exception { |
||||
String var2 = TokenResource.HEADER.getToken(var0); |
||||
if (StringUtils.isNotEmpty(var2)) { |
||||
} |
||||
|
||||
HttpSession var3 = var0.getSession(true); |
||||
var3.removeAttribute("_cas_logout_"); |
||||
var3.removeAttribute("authorizationInfo"); |
||||
var3.removeAttribute("fine_auth_token"); |
||||
var3.invalidate(); |
||||
FineLoggerFactory.getLogger().info("登出成功"); |
||||
} |
||||
|
||||
public static boolean isRelease(HttpServletRequest var0) { |
||||
String var1 = WebUtils.getOriginalURL(var0); |
||||
String[] var2 = RELEASE_PATH; |
||||
int var3 = var2.length; |
||||
|
||||
for(int var4 = 0; var4 < var3; ++var4) { |
||||
String var5 = var2[var4]; |
||||
if (var1.contains(var5)) { |
||||
return true; |
||||
} |
||||
} |
||||
|
||||
return false; |
||||
} |
||||
|
||||
public static void login(String var0, HttpServletRequest var1, HttpServletResponse var2) throws Exception { |
||||
User var3 = UserService.getInstance().getUserByUserName(var0); |
||||
if (var3 == null) { |
||||
throw new UserNotExistException(); |
||||
} else { |
||||
String var4 = LoginService.getInstance().login(var1, var2, var0); |
||||
var1.setAttribute("fine_auth_token", var4); |
||||
} |
||||
} |
||||
|
||||
public static boolean isRemote(HttpServletRequest var0) { |
||||
return var0.getRequestURL().toString().contains("decision/remote/design"); |
||||
} |
||||
|
||||
public static boolean isOptions(HttpServletRequest var0) { |
||||
FineLoggerFactory.getLogger().info("request method OPTIONS, url: " + WebUtils.getOriginalURL(var0)); |
||||
return StringUtils.equalsIgnoreCase(var0.getMethod(), "OPTIONS"); |
||||
} |
||||
|
||||
public static boolean checkTokenValid(HttpServletRequest var0, String var1, String var2) { |
||||
try { |
||||
if (!ComparatorUtils.equals(var2, JwtUtils.parseJWT(var1).getSubject())) { |
||||
FineLoggerFactory.getLogger().info("username changed:" + var2); |
||||
return false; |
||||
} else { |
||||
Device var3 = NetworkHelper.getDevice(var0); |
||||
LoginService.getInstance().loginStatusValid(var1, TerminalHandler.getTerminal(var0, var3)); |
||||
return true; |
||||
} |
||||
} catch (Exception var4) { |
||||
return false; |
||||
} |
||||
} |
||||
|
||||
static { |
||||
Properties var0 = new Properties(); |
||||
|
||||
try { |
||||
String var1 = ResourceIOUtils.getRealPath("sso.properties"); |
||||
FineLoggerFactory.getLogger().info("filepath:" + var1); |
||||
System.out.println(var1); |
||||
var0.load(new FileInputStream(new File(var1))); |
||||
} catch (IOException var2) { |
||||
FineLoggerFactory.getLogger().info("外部调用文件有误"); |
||||
var2.printStackTrace(); |
||||
} |
||||
|
||||
Sql = var0.getProperty("Sql"); |
||||
FineLoggerFactory.getLogger().info("Sql:" + Sql); |
||||
Sqls = var0.getProperty("Sqls"); |
||||
FineLoggerFactory.getLogger().info("Sqls:" + Sqls); |
||||
RELEASE_PATH = new String[]{"decision/file?path", "decision/resources?path", "decision/view/form?op=emb", "decision/view/form?op=resource"}; |
||||
} |
||||
} |
@ -0,0 +1,47 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
public class HexEncoder { |
||||
public HexEncoder() { |
||||
} |
||||
|
||||
public static String bytesToHex(byte[] var0) { |
||||
StringBuffer var1 = new StringBuffer(); |
||||
|
||||
for(int var2 = 0; var2 < var0.length; ++var2) { |
||||
String var3 = Integer.toHexString(var0[var2] & 255); |
||||
if (var3.length() < 2) { |
||||
var1.append(0); |
||||
} |
||||
|
||||
var1.append(var3); |
||||
} |
||||
|
||||
return var1.toString(); |
||||
} |
||||
|
||||
public static byte[] hexToByteArray(String var0) { |
||||
int var1 = var0.length(); |
||||
byte[] var2; |
||||
if (var1 % 2 == 1) { |
||||
++var1; |
||||
var2 = new byte[var1 / 2]; |
||||
var0 = "0" + var0; |
||||
} else { |
||||
var2 = new byte[var1 / 2]; |
||||
} |
||||
|
||||
int var3 = 0; |
||||
|
||||
for(int var4 = 0; var4 < var1; var4 += 2) { |
||||
var2[var3] = (byte)Integer.parseInt(var0.substring(var4, var4 + 2), 16); |
||||
++var3; |
||||
} |
||||
|
||||
return var2; |
||||
} |
||||
} |
@ -0,0 +1,310 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import com.fr.log.FineLoggerFactory; |
||||
import com.fr.third.org.apache.http.Consts; |
||||
import com.fr.third.org.apache.http.HeaderIterator; |
||||
import com.fr.third.org.apache.http.HttpEntity; |
||||
import com.fr.third.org.apache.http.HttpResponse; |
||||
import com.fr.third.org.apache.http.ParseException; |
||||
import com.fr.third.org.apache.http.client.config.RequestConfig; |
||||
import com.fr.third.org.apache.http.client.entity.UrlEncodedFormEntity; |
||||
import com.fr.third.org.apache.http.client.methods.CloseableHttpResponse; |
||||
import com.fr.third.org.apache.http.client.methods.HttpGet; |
||||
import com.fr.third.org.apache.http.client.methods.HttpPost; |
||||
import com.fr.third.org.apache.http.client.utils.URIBuilder; |
||||
import com.fr.third.org.apache.http.config.Registry; |
||||
import com.fr.third.org.apache.http.config.RegistryBuilder; |
||||
import com.fr.third.org.apache.http.conn.socket.PlainConnectionSocketFactory; |
||||
import com.fr.third.org.apache.http.conn.ssl.NoopHostnameVerifier; |
||||
import com.fr.third.org.apache.http.conn.ssl.SSLConnectionSocketFactory; |
||||
import com.fr.third.org.apache.http.conn.ssl.TrustStrategy; |
||||
import com.fr.third.org.apache.http.entity.StringEntity; |
||||
import com.fr.third.org.apache.http.impl.client.CloseableHttpClient; |
||||
import com.fr.third.org.apache.http.impl.client.HttpClients; |
||||
import com.fr.third.org.apache.http.impl.conn.PoolingHttpClientConnectionManager; |
||||
import com.fr.third.org.apache.http.message.BasicNameValuePair; |
||||
import com.fr.third.org.apache.http.ssl.SSLContextBuilder; |
||||
import com.fr.third.org.apache.http.util.EntityUtils; |
||||
import java.io.IOException; |
||||
import java.net.URI; |
||||
import java.security.KeyStore; |
||||
import java.security.cert.CertificateException; |
||||
import java.security.cert.X509Certificate; |
||||
import java.util.ArrayList; |
||||
import java.util.Iterator; |
||||
import java.util.Map; |
||||
import java.util.Map.Entry; |
||||
import org.apache.commons.collections.MapUtils; |
||||
|
||||
public class HttpClientUtils { |
||||
private static final Integer CONNECTION_TIMEOUT = 5000; |
||||
private static final Integer SO_TIMEOUT = 20000; |
||||
private static final Integer CONN_MANAGER_TIMEOUT = 500; |
||||
private static final String http = "http"; |
||||
private static final String https = "https"; |
||||
private static SSLConnectionSocketFactory sslsf = null; |
||||
private static PoolingHttpClientConnectionManager cm = null; |
||||
private static SSLContextBuilder builder = null; |
||||
|
||||
public HttpClientUtils() { |
||||
} |
||||
|
||||
public static String doPostJson(String var0, String var1, String var2) throws Exception { |
||||
CloseableHttpClient var3 = HttpClients.createDefault(); |
||||
CloseableHttpResponse var4 = null; |
||||
String var5 = ""; |
||||
|
||||
try { |
||||
HttpPost var6 = new HttpPost(var0); |
||||
var6.setHeader("HTTP Method", "POST"); |
||||
var6.setHeader("Connection", "Keep-Alive"); |
||||
var6.setHeader("Content-Type", "application/json;charset=utf-8"); |
||||
var6.setHeader("x-authentication-token", var2); |
||||
StringEntity var7 = new StringEntity(var1); |
||||
var7.setContentType("application/json;charset=utf-8"); |
||||
var6.setEntity(var7); |
||||
var4 = var3.execute(var6); |
||||
System.out.println(var4.getStatusLine().getStatusCode()); |
||||
if (var4.getStatusLine().getStatusCode() == 200) { |
||||
var5 = EntityUtils.toString(var4.getEntity(), "UTF-8"); |
||||
System.out.println(var5); |
||||
} |
||||
} catch (Exception var15) { |
||||
throw var15; |
||||
} finally { |
||||
try { |
||||
if (var4 != null) { |
||||
var4.close(); |
||||
} |
||||
} catch (IOException var14) { |
||||
var14.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
return var5; |
||||
} |
||||
|
||||
public static String doGet(String var0, Map<String, String> var1) { |
||||
CloseableHttpClient var2 = HttpClients.createDefault(); |
||||
String var3 = ""; |
||||
CloseableHttpResponse var4 = null; |
||||
|
||||
try { |
||||
URIBuilder var5 = new URIBuilder(var0); |
||||
if (var1 != null) { |
||||
Iterator var6 = var1.keySet().iterator(); |
||||
|
||||
while(var6.hasNext()) { |
||||
String var7 = (String)var6.next(); |
||||
var5.addParameter(var7, (String)var1.get(var7)); |
||||
} |
||||
} |
||||
|
||||
URI var18 = var5.build(); |
||||
HttpGet var19 = new HttpGet(var18); |
||||
var4 = var2.execute(var19); |
||||
if (var4.getStatusLine().getStatusCode() == 200) { |
||||
var3 = EntityUtils.toString(var4.getEntity(), "UTF-8"); |
||||
} |
||||
} catch (Exception var16) { |
||||
var16.printStackTrace(); |
||||
} finally { |
||||
try { |
||||
if (var4 != null) { |
||||
var4.close(); |
||||
} |
||||
|
||||
var2.close(); |
||||
} catch (IOException var15) { |
||||
var15.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
return var3; |
||||
} |
||||
|
||||
public static String post(String var0, Map<String, String> var1, Map<String, String> var2, HttpEntity var3) { |
||||
String var4 = ""; |
||||
CloseableHttpClient var5 = null; |
||||
CloseableHttpResponse var6 = null; |
||||
HttpEntity var7 = null; |
||||
|
||||
try { |
||||
var5 = getHttpClient(); |
||||
HttpPost var8 = new HttpPost(var0); |
||||
if (MapUtils.isNotEmpty(var2)) { |
||||
Iterator var9 = var2.entrySet().iterator(); |
||||
|
||||
while(var9.hasNext()) { |
||||
Entry var10 = (Entry)var9.next(); |
||||
var8.addHeader((String)var10.getKey(), (String)var10.getValue()); |
||||
} |
||||
} |
||||
|
||||
ArrayList var20 = new ArrayList(); |
||||
if (MapUtils.isNotEmpty(var1)) { |
||||
Iterator var17 = var1.entrySet().iterator(); |
||||
|
||||
while(var17.hasNext()) { |
||||
Entry var11 = (Entry)var17.next(); |
||||
var20.add(new BasicNameValuePair((String)var11.getKey(), (String)var11.getValue())); |
||||
} |
||||
|
||||
UrlEncodedFormEntity var18 = new UrlEncodedFormEntity(var20, Consts.UTF_8); |
||||
var8.setEntity(var18); |
||||
} |
||||
|
||||
if (var3 != null) { |
||||
var8.setEntity(var3); |
||||
} |
||||
|
||||
var6 = var5.execute(var8); |
||||
FineLoggerFactory.getLogger().info("创建请求httpPost-URL={},params={}", new Object[]{var0, var20}); |
||||
int var19 = var6.getStatusLine().getStatusCode(); |
||||
if (var19 == 200) { |
||||
var7 = var6.getEntity(); |
||||
System.out.println(var7); |
||||
var4 = EntityUtils.toString(var7); |
||||
} else { |
||||
readHttpResponse(var6); |
||||
} |
||||
} catch (Exception var15) { |
||||
FineLoggerFactory.getLogger().error("请求发送失败:", var15); |
||||
throw new RuntimeException("请求发送失败,URL:" + var0 + ",params:" + var1); |
||||
} finally { |
||||
closeConnection(var5, var6, var7); |
||||
} |
||||
|
||||
return var4; |
||||
} |
||||
|
||||
public static String get(String var0, Map<String, String> var1, Map<String, String> var2) { |
||||
String var3 = ""; |
||||
CloseableHttpClient var4 = null; |
||||
CloseableHttpResponse var5 = null; |
||||
HttpEntity var6 = null; |
||||
|
||||
try { |
||||
HttpGet var7 = null; |
||||
ArrayList var8 = new ArrayList(); |
||||
Iterator var9; |
||||
Entry var10; |
||||
if (MapUtils.isNotEmpty(var1)) { |
||||
var9 = var1.entrySet().iterator(); |
||||
|
||||
while(var9.hasNext()) { |
||||
var10 = (Entry)var9.next(); |
||||
var8.add(new BasicNameValuePair((String)var10.getKey(), (String)var10.getValue())); |
||||
} |
||||
|
||||
UrlEncodedFormEntity var16 = new UrlEncodedFormEntity(var8, Consts.UTF_8); |
||||
var0 = var0 + "?" + EntityUtils.toString(var16); |
||||
} |
||||
|
||||
var7 = new HttpGet(var0); |
||||
if (MapUtils.isNotEmpty(var2)) { |
||||
var9 = var2.entrySet().iterator(); |
||||
|
||||
while(var9.hasNext()) { |
||||
var10 = (Entry)var9.next(); |
||||
var7.addHeader((String)var10.getKey(), (String)var10.getValue()); |
||||
} |
||||
} |
||||
|
||||
var4 = getHttpClient(); |
||||
var5 = var4.execute(var7); |
||||
FineLoggerFactory.getLogger().info("创建请求http get请求,URL={}", new Object[]{var0}); |
||||
int var17 = var5.getStatusLine().getStatusCode(); |
||||
if (var17 == 200) { |
||||
var6 = var5.getEntity(); |
||||
var3 = EntityUtils.toString(var6); |
||||
} else { |
||||
readHttpResponse(var5); |
||||
} |
||||
} catch (Exception var14) { |
||||
FineLoggerFactory.getLogger().error("请求发送失败:", var14); |
||||
throw new RuntimeException("请求发送失败,URL:" + var0 + ",params:" + var1); |
||||
} finally { |
||||
closeConnection(var4, var5, var6); |
||||
} |
||||
|
||||
return var3; |
||||
} |
||||
|
||||
public static CloseableHttpClient getHttpClient() { |
||||
return HttpClients.custom().setSSLSocketFactory(sslsf).setConnectionManager(cm).setConnectionManagerShared(true).setDefaultRequestConfig(RequestConfig.custom().setConnectTimeout(CONNECTION_TIMEOUT).setConnectionRequestTimeout(CONN_MANAGER_TIMEOUT).setSocketTimeout(SO_TIMEOUT).build()).build(); |
||||
} |
||||
|
||||
public static String readHttpResponse(HttpResponse var0) throws ParseException, IOException { |
||||
StringBuilder var1 = new StringBuilder(); |
||||
HttpEntity var2 = var0.getEntity(); |
||||
var1.append("status:" + var0.getStatusLine()); |
||||
var1.append("headers:"); |
||||
HeaderIterator var3 = var0.headerIterator(); |
||||
|
||||
while(var3.hasNext()) { |
||||
var1.append("\t" + var3.next()); |
||||
} |
||||
|
||||
if (var2 != null) { |
||||
String var4 = EntityUtils.toString(var2); |
||||
var1.append("response length:" + var4.length()); |
||||
var1.append("response content:" + var4.replace("\r\n", "")); |
||||
} |
||||
|
||||
return var1.toString(); |
||||
} |
||||
|
||||
public static void closeConnection(CloseableHttpClient var0, HttpResponse var1, HttpEntity var2) { |
||||
if (var2 != null) { |
||||
try { |
||||
EntityUtils.consume(var2); |
||||
} catch (IOException var6) { |
||||
FineLoggerFactory.getLogger().error("关闭HttpEntity出错:{}", new Object[]{var6.getMessage()}); |
||||
} |
||||
} |
||||
|
||||
if (var1 != null) { |
||||
try { |
||||
((CloseableHttpResponse)var1).close(); |
||||
} catch (IOException var5) { |
||||
FineLoggerFactory.getLogger().error("关闭HttpResponse出错:{}", new Object[]{var5.getMessage()}); |
||||
} |
||||
} |
||||
|
||||
if (var0 != null) { |
||||
try { |
||||
var0.close(); |
||||
} catch (IOException var4) { |
||||
FineLoggerFactory.getLogger().error("关闭HttpClient出错:{}", new Object[]{var4.getMessage()}); |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
static { |
||||
try { |
||||
builder = new SSLContextBuilder(); |
||||
builder.loadTrustMaterial((KeyStore)null, new TrustStrategy() { |
||||
public boolean isTrusted(X509Certificate[] var1, String var2) throws CertificateException { |
||||
return true; |
||||
} |
||||
}); |
||||
sslsf = new SSLConnectionSocketFactory(builder.build(), new String[]{"TLSv1"}, (String[])null, NoopHostnameVerifier.INSTANCE); |
||||
Registry var0 = RegistryBuilder.create().register("http", new PlainConnectionSocketFactory()).register("https", sslsf).build(); |
||||
cm = new PoolingHttpClientConnectionManager(var0); |
||||
cm.setMaxTotal(200); |
||||
cm.setDefaultMaxPerRoute(20); |
||||
} catch (Exception var1) { |
||||
FineLoggerFactory.getLogger().error("HttpClientUtils 初始化失败", var1); |
||||
} |
||||
|
||||
} |
||||
} |
@ -0,0 +1,39 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
public class JsonRootBean { |
||||
private UserInfo userInfo; |
||||
private OrgUser orgUser; |
||||
private UserExtInfo userExtInfo; |
||||
|
||||
public JsonRootBean() { |
||||
} |
||||
|
||||
public UserInfo getUserInfo() { |
||||
return this.userInfo; |
||||
} |
||||
|
||||
public void setUserInfo(UserInfo var1) { |
||||
this.userInfo = var1; |
||||
} |
||||
|
||||
public void setOrgUser(OrgUser var1) { |
||||
this.orgUser = var1; |
||||
} |
||||
|
||||
public void setUserExtInfo(UserExtInfo var1) { |
||||
this.userExtInfo = var1; |
||||
} |
||||
|
||||
public OrgUser getOrgUser() { |
||||
return this.orgUser; |
||||
} |
||||
|
||||
public UserExtInfo getUserExtInfo() { |
||||
return this.userExtInfo; |
||||
} |
||||
} |
@ -0,0 +1,115 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import com.fr.io.utils.ResourceIOUtils; |
||||
import com.fr.log.FineLoggerFactory; |
||||
import java.io.File; |
||||
import java.io.FileInputStream; |
||||
import java.io.IOException; |
||||
import java.sql.Connection; |
||||
import java.sql.DriverManager; |
||||
import java.sql.PreparedStatement; |
||||
import java.sql.ResultSet; |
||||
import java.sql.SQLException; |
||||
import java.util.Properties; |
||||
|
||||
public class OracleJdbcTest { |
||||
private static Connection conn = null; |
||||
private static String orcalUrl = null; |
||||
private static String orcalName = null; |
||||
private static String user = null; |
||||
private static String password = null; |
||||
private static String path = null; |
||||
|
||||
public OracleJdbcTest() { |
||||
} |
||||
|
||||
private static synchronized Connection getConn() { |
||||
if (conn == null) { |
||||
try { |
||||
Class.forName(orcalName); |
||||
conn = DriverManager.getConnection(orcalUrl, user, password); |
||||
} catch (ClassNotFoundException var1) { |
||||
var1.printStackTrace(); |
||||
FineLoggerFactory.getLogger().error("sql数据库连接处错:1" + var1.getMessage()); |
||||
} catch (SQLException var2) { |
||||
var2.printStackTrace(); |
||||
FineLoggerFactory.getLogger().error("sql数据库连接处错:2" + var2.getMessage()); |
||||
} |
||||
} |
||||
|
||||
return conn; |
||||
} |
||||
|
||||
public String queryStri(String var1, boolean var2) { |
||||
String REPORT_URL = ""; |
||||
// FineLoggerFactory.getLogger().error("filepath:" + path);
|
||||
// FineLoggerFactory.getLogger().error("orcalUrl:" + orcalUrl);
|
||||
// FineLoggerFactory.getLogger().error("orcalName:" + orcalName);
|
||||
// FineLoggerFactory.getLogger().error("user:" + user);
|
||||
// FineLoggerFactory.getLogger().error("password:" + password);
|
||||
// FineLoggerFactory.getLogger().error("》》》》");
|
||||
|
||||
try { |
||||
PreparedStatement var3 = getConn().prepareStatement(var1); |
||||
|
||||
ResultSet var5; |
||||
for(var5 = var3.executeQuery(); var5.next(); REPORT_URL = var5.getString("REPORT_URL")) { |
||||
} |
||||
|
||||
var5.close(); |
||||
var3.close(); |
||||
return REPORT_URL; |
||||
} catch (SQLException var6) { |
||||
FineLoggerFactory.getLogger().error("显示返回的地址" , var6); |
||||
return REPORT_URL; |
||||
} |
||||
} |
||||
|
||||
public void query(String var1) { |
||||
try { |
||||
PreparedStatement var2 = getConn().prepareStatement(var1); |
||||
var2.execute(); |
||||
var2.close(); |
||||
} catch (SQLException var4) { |
||||
var4.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
public void close() { |
||||
try { |
||||
getConn().close(); |
||||
} catch (SQLException var2) { |
||||
var2.printStackTrace(); |
||||
} |
||||
|
||||
} |
||||
|
||||
static { |
||||
Properties var0 = new Properties(); |
||||
|
||||
try { |
||||
path = ResourceIOUtils.getRealPath("sso.properties"); |
||||
FineLoggerFactory.getLogger().error("filepath:" + path); |
||||
System.out.println(path); |
||||
var0.load(new FileInputStream(new File(path))); |
||||
} catch (IOException var2) { |
||||
FineLoggerFactory.getLogger().error("外部调用文件有误"); |
||||
var2.printStackTrace(); |
||||
} |
||||
|
||||
orcalUrl = var0.getProperty("orcalUrl"); |
||||
FineLoggerFactory.getLogger().info("orcalUrl:" + orcalUrl); |
||||
orcalName = var0.getProperty("orcalName"); |
||||
FineLoggerFactory.getLogger().info("orcalName :" + orcalName); |
||||
user = var0.getProperty("user"); |
||||
FineLoggerFactory.getLogger().info("user :" + user); |
||||
password = var0.getProperty("password"); |
||||
FineLoggerFactory.getLogger().info("password:" + password); |
||||
} |
||||
} |
@ -0,0 +1,75 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
public class OrgUser { |
||||
private int id; |
||||
private int orgId; |
||||
private int userId; |
||||
private int groupId; |
||||
private int roleId; |
||||
private String photo; |
||||
private int tempUnit; |
||||
|
||||
public OrgUser() { |
||||
} |
||||
|
||||
public int getId() { |
||||
return this.id; |
||||
} |
||||
|
||||
public void setId(int var1) { |
||||
this.id = var1; |
||||
} |
||||
|
||||
public void setOrgId(int var1) { |
||||
this.orgId = var1; |
||||
} |
||||
|
||||
public void setUserId(int var1) { |
||||
this.userId = var1; |
||||
} |
||||
|
||||
public void setGroupId(int var1) { |
||||
this.groupId = var1; |
||||
} |
||||
|
||||
public void setRoleId(int var1) { |
||||
this.roleId = var1; |
||||
} |
||||
|
||||
public void setPhoto(String var1) { |
||||
this.photo = var1; |
||||
} |
||||
|
||||
public void setTempUnit(int var1) { |
||||
this.tempUnit = var1; |
||||
} |
||||
|
||||
public int getOrgId() { |
||||
return this.orgId; |
||||
} |
||||
|
||||
public int getUserId() { |
||||
return this.userId; |
||||
} |
||||
|
||||
public int getGroupId() { |
||||
return this.groupId; |
||||
} |
||||
|
||||
public int getRoleId() { |
||||
return this.roleId; |
||||
} |
||||
|
||||
public String getPhoto() { |
||||
return this.photo; |
||||
} |
||||
|
||||
public int getTempUnit() { |
||||
return this.tempUnit; |
||||
} |
||||
} |
@ -0,0 +1,66 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import java.util.Arrays; |
||||
|
||||
public class RC4 { |
||||
private final byte[] s = new byte[256]; |
||||
private int x = 96483; |
||||
private int y = 276492749; |
||||
|
||||
public RC4(byte[] var1) { |
||||
int var2; |
||||
for(var2 = 0; var2 < 256; ++var2) { |
||||
this.s[var2] = (byte)var2; |
||||
} |
||||
|
||||
var2 = 0; |
||||
|
||||
for(int var3 = 0; var2 < 256; ++var2) { |
||||
var3 = var3 + (this.s[var2] & 255) + (var1[var2 % var1.length] & 255) & 255; |
||||
byte var4 = this.s[var2]; |
||||
this.s[var2] = this.s[var3]; |
||||
this.s[var3] = var4; |
||||
} |
||||
|
||||
} |
||||
|
||||
public int encrypt(byte[] var1, int var2, byte[] var3, int var4, int var5) { |
||||
int var6 = this.x; |
||||
int var7 = this.y; |
||||
byte[] var8 = Arrays.copyOf(this.s, this.s.length); |
||||
|
||||
for(int var9 = 0; var9 < var5; ++var9) { |
||||
var6 = var6 + 1 & 255; |
||||
var7 = var7 + (var8[var6] & 255) & 255; |
||||
byte var10 = var8[var6]; |
||||
var8[var6] = var8[var7]; |
||||
var8[var7] = var10; |
||||
int var11 = (var8[var6] & 255) + (var8[var7] & 255) & 255; |
||||
byte var12 = var8[var11]; |
||||
var3[var4 + var9] = (byte)(var1[var2 + var9] & 255 ^ var12); |
||||
} |
||||
|
||||
return 0; |
||||
} |
||||
|
||||
public int decrypt(byte[] var1, int var2, byte[] var3, int var4, int var5) { |
||||
return this.encrypt(var1, var2, var3, var4, var5); |
||||
} |
||||
|
||||
public byte[] encrypt(byte[] var1) { |
||||
byte[] var2 = new byte[var1.length]; |
||||
this.encrypt(var1, 0, var2, 0, var1.length); |
||||
return var2; |
||||
} |
||||
|
||||
public byte[] decrypt(byte[] var1) { |
||||
byte[] var2 = new byte[var1.length]; |
||||
this.decrypt(var1, 0, var2, 0, var1.length); |
||||
return var2; |
||||
} |
||||
} |
@ -0,0 +1,53 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import com.alibaba.fastjson.JSON; |
||||
import com.alibaba.fastjson.JSONObject; |
||||
import com.fr.log.FineLoggerFactory; |
||||
|
||||
public class SecureHelper { |
||||
private static final String ENCODE = "UTF-8"; |
||||
private static final String KEY_TIMESTAMP = "timestamp"; |
||||
private static final String KEY_MESSAGE = "message"; |
||||
private static final long TIME_OUT_REQUEST = 30000L; |
||||
|
||||
public SecureHelper() { |
||||
} |
||||
|
||||
public static String decryptAndVerify(String var0, String var1) { |
||||
try { |
||||
RC4 var2 = new RC4(var1.getBytes("UTF-8")); |
||||
byte[] var3 = var2.decrypt(HexEncoder.hexToByteArray(var0)); |
||||
JSONObject var4 = JSON.parseObject(new String(var3, "UTF-8")); |
||||
if (System.currentTimeMillis() - var4.getLongValue("timestamp") > 30000L) { |
||||
throw new RuntimeException("sign timeout"); |
||||
} else { |
||||
return var4.getString("message"); |
||||
} |
||||
} catch (Exception var5) { |
||||
FineLoggerFactory.getLogger().error("验签失败", var5); |
||||
return ""; |
||||
} |
||||
} |
||||
|
||||
public static String encryptAndSign(String var0, String var1) { |
||||
try { |
||||
JSONObject var2 = new JSONObject(); |
||||
var2.put("timestamp", System.currentTimeMillis()); |
||||
var2.put("message", var0); |
||||
RC4 var3 = new RC4(var1.getBytes("UTF-8")); |
||||
return HexEncoder.bytesToHex(var3.encrypt(var2.toJSONString().getBytes("UTF-8"))); |
||||
} catch (Exception var4) { |
||||
return ""; |
||||
} |
||||
} |
||||
|
||||
public static void main(String[] var0) { |
||||
String var1 = decryptAndVerify("28dd390a1545c394e1c808c16ea6a866dedbbb548fe2dfcc124318bc46f245f0f92b8df4e39a8cdd04415bac0f42", "123456789"); |
||||
System.out.println(var1); |
||||
} |
||||
} |
@ -0,0 +1,147 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
public class UserExtInfo { |
||||
private int userId; |
||||
private int staffType; |
||||
private String staffCode; |
||||
private int status; |
||||
private String suspendTime; |
||||
private String validDateStart; |
||||
private String validDateEnd; |
||||
private String landlinePhone; |
||||
private String identityDocType; |
||||
private String identityDocNo; |
||||
private String companyWeChatAccount; |
||||
private String personalWeChatAccount; |
||||
private String bankAccount; |
||||
private String remark; |
||||
private String ssoSystems; |
||||
|
||||
public UserExtInfo() { |
||||
} |
||||
|
||||
public int getUserId() { |
||||
return this.userId; |
||||
} |
||||
|
||||
public int getStaffType() { |
||||
return this.staffType; |
||||
} |
||||
|
||||
public String getStaffCode() { |
||||
return this.staffCode; |
||||
} |
||||
|
||||
public int getStatus() { |
||||
return this.status; |
||||
} |
||||
|
||||
public String getSuspendTime() { |
||||
return this.suspendTime; |
||||
} |
||||
|
||||
public String getValidDateStart() { |
||||
return this.validDateStart; |
||||
} |
||||
|
||||
public String getValidDateEnd() { |
||||
return this.validDateEnd; |
||||
} |
||||
|
||||
public String getLandlinePhone() { |
||||
return this.landlinePhone; |
||||
} |
||||
|
||||
public String getIdentityDocType() { |
||||
return this.identityDocType; |
||||
} |
||||
|
||||
public String getIdentityDocNo() { |
||||
return this.identityDocNo; |
||||
} |
||||
|
||||
public String getCompanyWeChatAccount() { |
||||
return this.companyWeChatAccount; |
||||
} |
||||
|
||||
public String getPersonalWeChatAccount() { |
||||
return this.personalWeChatAccount; |
||||
} |
||||
|
||||
public String getBankAccount() { |
||||
return this.bankAccount; |
||||
} |
||||
|
||||
public String getRemark() { |
||||
return this.remark; |
||||
} |
||||
|
||||
public String getSsoSystems() { |
||||
return this.ssoSystems; |
||||
} |
||||
|
||||
public void setUserId(int var1) { |
||||
this.userId = var1; |
||||
} |
||||
|
||||
public void setStaffType(int var1) { |
||||
this.staffType = var1; |
||||
} |
||||
|
||||
public void setStaffCode(String var1) { |
||||
this.staffCode = var1; |
||||
} |
||||
|
||||
public void setStatus(int var1) { |
||||
this.status = var1; |
||||
} |
||||
|
||||
public void setSuspendTime(String var1) { |
||||
this.suspendTime = var1; |
||||
} |
||||
|
||||
public void setValidDateStart(String var1) { |
||||
this.validDateStart = var1; |
||||
} |
||||
|
||||
public void setValidDateEnd(String var1) { |
||||
this.validDateEnd = var1; |
||||
} |
||||
|
||||
public void setLandlinePhone(String var1) { |
||||
this.landlinePhone = var1; |
||||
} |
||||
|
||||
public void setIdentityDocType(String var1) { |
||||
this.identityDocType = var1; |
||||
} |
||||
|
||||
public void setIdentityDocNo(String var1) { |
||||
this.identityDocNo = var1; |
||||
} |
||||
|
||||
public void setCompanyWeChatAccount(String var1) { |
||||
this.companyWeChatAccount = var1; |
||||
} |
||||
|
||||
public void setPersonalWeChatAccount(String var1) { |
||||
this.personalWeChatAccount = var1; |
||||
} |
||||
|
||||
public void setBankAccount(String var1) { |
||||
this.bankAccount = var1; |
||||
} |
||||
|
||||
public void setRemark(String var1) { |
||||
this.remark = var1; |
||||
} |
||||
|
||||
public void setSsoSystems(String var1) { |
||||
this.ssoSystems = var1; |
||||
} |
||||
} |
@ -0,0 +1,102 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
public class UserInfo { |
||||
private int id; |
||||
private String name; |
||||
private String countryCode; |
||||
private String phoneNumber; |
||||
private String email; |
||||
private int status; |
||||
private long lastLoginTime; |
||||
private String username; |
||||
private String photo; |
||||
private String system; |
||||
|
||||
public UserInfo() { |
||||
} |
||||
|
||||
public void setId(int var1) { |
||||
this.id = var1; |
||||
} |
||||
|
||||
public void setName(String var1) { |
||||
this.name = var1; |
||||
} |
||||
|
||||
public void setCountryCode(String var1) { |
||||
this.countryCode = var1; |
||||
} |
||||
|
||||
public void setPhoneNumber(String var1) { |
||||
this.phoneNumber = var1; |
||||
} |
||||
|
||||
public void setEmail(String var1) { |
||||
this.email = var1; |
||||
} |
||||
|
||||
public void setStatus(int var1) { |
||||
this.status = var1; |
||||
} |
||||
|
||||
public void setLastLoginTime(long var1) { |
||||
this.lastLoginTime = var1; |
||||
} |
||||
|
||||
public void setUsername(String var1) { |
||||
this.username = var1; |
||||
} |
||||
|
||||
public void setPhoto(String var1) { |
||||
this.photo = var1; |
||||
} |
||||
|
||||
public void setSystem(String var1) { |
||||
this.system = var1; |
||||
} |
||||
|
||||
public int getId() { |
||||
return this.id; |
||||
} |
||||
|
||||
public String getName() { |
||||
return this.name; |
||||
} |
||||
|
||||
public String getCountryCode() { |
||||
return this.countryCode; |
||||
} |
||||
|
||||
public String getPhoneNumber() { |
||||
return this.phoneNumber; |
||||
} |
||||
|
||||
public String getEmail() { |
||||
return this.email; |
||||
} |
||||
|
||||
public int getStatus() { |
||||
return this.status; |
||||
} |
||||
|
||||
public long getLastLoginTime() { |
||||
return this.lastLoginTime; |
||||
} |
||||
|
||||
public String getUsername() { |
||||
return this.username; |
||||
} |
||||
|
||||
public String getPhoto() { |
||||
return this.photo; |
||||
} |
||||
|
||||
public String getSystem() { |
||||
return this.system; |
||||
} |
||||
} |
@ -0,0 +1,43 @@
|
||||
//
|
||||
// Source code recreated from a .class file by IntelliJ IDEA
|
||||
// (powered by FernFlower decompiler)
|
||||
//
|
||||
|
||||
package com.fr.plugin.cg.login.utils; |
||||
|
||||
import com.fr.io.utils.ResourceIOUtils; |
||||
import com.fr.log.FineLoggerFactory; |
||||
import java.io.File; |
||||
import java.io.FileInputStream; |
||||
import java.io.IOException; |
||||
import java.util.Properties; |
||||
|
||||
public class Util { |
||||
public static String BaseUrl = null; |
||||
public static String SendRedirect = null; |
||||
public static String UserUrl = null; |
||||
|
||||
public Util() { |
||||
} |
||||
|
||||
static { |
||||
Properties var0 = new Properties(); |
||||
|
||||
try { |
||||
String var1 = ResourceIOUtils.getRealPath("sso.properties"); |
||||
FineLoggerFactory.getLogger().info("filepath:" + var1); |
||||
System.out.println(var1); |
||||
var0.load(new FileInputStream(new File(var1))); |
||||
} catch (IOException var2) { |
||||
FineLoggerFactory.getLogger().info("外部调用文件有误"); |
||||
var2.printStackTrace(); |
||||
} |
||||
|
||||
BaseUrl = var0.getProperty("BaseUrl"); |
||||
FineLoggerFactory.getLogger().info("BaseUrl:" + BaseUrl); |
||||
SendRedirect = var0.getProperty("SendRedirect"); |
||||
FineLoggerFactory.getLogger().info("SendRedirect:" + SendRedirect); |
||||
UserUrl = var0.getProperty("UserUrl"); |
||||
FineLoggerFactory.getLogger().info("UserUrl:" + UserUrl); |
||||
} |
||||
} |
@ -0,0 +1,9 @@
|
||||
BaseUrl=http://192.168.1.232:9181/ |
||||
SendRedirect=https://rhba.cpirhzl.com:8443/webroot/decision/view/form?viewlet=error.frm |
||||
UserUrl=http://192.168.1.232:9091/ |
||||
orcalUrl =jdbc:oracle:thin:@//192.168.1.203:1521/rhzlbidb |
||||
orcalName =oracle.jdbc.driver.OracleDriver |
||||
user =rhzl_bi |
||||
password =rhzl_bi |
||||
Sql=with ds3 as (SELECT u.realName,u.userName,u.mobile,u.email,d.id org_id,d.name org_name,c.id dept_id,c.name dept_name FROM rhzl_bi.fine_user u LEFT JOIN ( SELECT * FROM rhzl_bi.fine_user_role_middle WHERE roleType = 1 ) r ON u.id = r.userid LEFT JOIN rhzl_bi.fine_dep_role b ON r.roleid = b.id LEFT JOIN rhzl_bi.fine_post c ON b.postId = c.id LEFT JOIN rhzl_bi.fine_department d ON b.departmentId = d.id WHERE d.name != '融和必达'), ds1 as (select a.sys_name,a.sys_local ,a.state, a.report_url ,b.dept_id,b.username as user_id from FILL_DEPT_REPORT_AUTH a right join ds3 b on a.dept_id=b.dept_id),ds2 as (select REPORT_URL,SYS_LOCAL,SYS_NAME,user_id,STATE FROM FILL_USER_REPORT_AUTH union all select REPORT_URL,SYS_LOCAL,SYS_NAME,user_id,STATE from ds1 where user_id not in (select user_id from FILL_USER_REPORT_AUTH ) and sys_local is not null) SELECT REPORT_URL FROM ds2 WHERE STATE = 'NORMAL' AND SYS_LOCAL = |
||||
Sqls=SELECT REPORT_URL FROM FILL_USER_REPORT_AUTH WHERE STATE = 'PARANULL' AND SYS_LOCAL ='sys_local'and SYS_NAME ='sys_name' |
Loading…
Reference in new issue