Commit 39a228a508e3c1a0ef084b2e93de2b6ca9dc8bd4
1 parent
2f05fcb4
1.统一平台登录
Showing
10 changed files
with
264 additions
and
167 deletions
src/main/java/com/bsth/common/Constants.java
| @@ -14,7 +14,8 @@ public class Constants { | @@ -14,7 +14,8 @@ public class Constants { | ||
| 14 | * 不需要拦截的资源 | 14 | * 不需要拦截的资源 |
| 15 | */ | 15 | */ |
| 16 | public static final String LOGIN = "/user/login/**"; | 16 | public static final String LOGIN = "/user/login/**"; |
| 17 | - public static final String LOGIN_PAGE = "/login.html"; | 17 | + public static final String ORIGINAL_LOGIN_PAGE = "/login.html"; |
| 18 | + public static String LOGIN_PAGE = "/login.html"; | ||
| 18 | public static final String ASSETS_URL = "/assets/**"; | 19 | public static final String ASSETS_URL = "/assets/**"; |
| 19 | public static final String FAVICON_URL = "/favicon.ico"; | 20 | public static final String FAVICON_URL = "/favicon.ico"; |
| 20 | public static final String METRONIC_URL = "/metronic_v4.5.4/**"; | 21 | public static final String METRONIC_URL = "/metronic_v4.5.4/**"; |
| @@ -63,4 +64,8 @@ public class Constants { | @@ -63,4 +64,8 @@ public class Constants { | ||
| 63 | public static final String WEAK_CIPHER = "weakCipher"; | 64 | public static final String WEAK_CIPHER = "weakCipher"; |
| 64 | 65 | ||
| 65 | public static final String FILE_AUTH = "/.well-known/pki-validation/fileauth.txt"; | 66 | public static final String FILE_AUTH = "/.well-known/pki-validation/fileauth.txt"; |
| 67 | + | ||
| 68 | + public static final String SSO_TOKEN = "ssoToken"; | ||
| 69 | + | ||
| 70 | + public static final String RESOURCE_AUTHORITYS = "resourceAuthoritys"; | ||
| 66 | } | 71 | } |
src/main/java/com/bsth/controller/sys/UserController.java
| @@ -9,11 +9,14 @@ import com.bsth.email.entity.EmailBean; | @@ -9,11 +9,14 @@ import com.bsth.email.entity.EmailBean; | ||
| 9 | import com.bsth.entity.sys.CompanyAuthority; | 9 | import com.bsth.entity.sys.CompanyAuthority; |
| 10 | import com.bsth.entity.sys.Role; | 10 | import com.bsth.entity.sys.Role; |
| 11 | import com.bsth.entity.sys.SysUser; | 11 | import com.bsth.entity.sys.SysUser; |
| 12 | +import com.bsth.security.SsoConfig; | ||
| 12 | import com.bsth.security.util.SecurityUtils; | 13 | import com.bsth.security.util.SecurityUtils; |
| 13 | import com.bsth.service.sys.CompanyAuthorityService; | 14 | import com.bsth.service.sys.CompanyAuthorityService; |
| 14 | import com.bsth.service.sys.SysUserService; | 15 | import com.bsth.service.sys.SysUserService; |
| 15 | import com.bsth.service.sys.impl.PwdGenerator; | 16 | import com.bsth.service.sys.impl.PwdGenerator; |
| 17 | +import com.bsth.util.HttpClientUtils; | ||
| 16 | import com.bsth.util.IpUtils; | 18 | import com.bsth.util.IpUtils; |
| 19 | +import com.fasterxml.jackson.databind.ObjectMapper; | ||
| 17 | import com.google.common.collect.ArrayListMultimap; | 20 | import com.google.common.collect.ArrayListMultimap; |
| 18 | import org.apache.commons.lang3.StringUtils; | 21 | import org.apache.commons.lang3.StringUtils; |
| 19 | import org.slf4j.Logger; | 22 | import org.slf4j.Logger; |
| @@ -22,12 +25,14 @@ import org.springframework.beans.factory.annotation.Autowired; | @@ -22,12 +25,14 @@ import org.springframework.beans.factory.annotation.Autowired; | ||
| 22 | import org.springframework.security.authentication.BadCredentialsException; | 25 | import org.springframework.security.authentication.BadCredentialsException; |
| 23 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | 26 | import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; |
| 24 | import org.springframework.security.web.authentication.session.SessionAuthenticationException; | 27 | import org.springframework.security.web.authentication.session.SessionAuthenticationException; |
| 28 | +import org.springframework.util.Assert; | ||
| 25 | import org.springframework.web.bind.annotation.RequestMapping; | 29 | import org.springframework.web.bind.annotation.RequestMapping; |
| 26 | import org.springframework.web.bind.annotation.RequestMethod; | 30 | import org.springframework.web.bind.annotation.RequestMethod; |
| 27 | import org.springframework.web.bind.annotation.RequestParam; | 31 | import org.springframework.web.bind.annotation.RequestParam; |
| 28 | import org.springframework.web.bind.annotation.RestController; | 32 | import org.springframework.web.bind.annotation.RestController; |
| 29 | 33 | ||
| 30 | import javax.servlet.http.HttpServletRequest; | 34 | import javax.servlet.http.HttpServletRequest; |
| 35 | +import javax.servlet.http.HttpServletResponse; | ||
| 31 | import javax.servlet.http.HttpSession; | 36 | import javax.servlet.http.HttpSession; |
| 32 | import java.util.*; | 37 | import java.util.*; |
| 33 | import java.util.regex.Matcher; | 38 | import java.util.regex.Matcher; |
| @@ -45,6 +50,11 @@ public class UserController extends BaseController<SysUser, Integer> { | @@ -45,6 +50,11 @@ public class UserController extends BaseController<SysUser, Integer> { | ||
| 45 | @Autowired | 50 | @Autowired |
| 46 | CompanyAuthorityService companyAuthorityService; | 51 | CompanyAuthorityService companyAuthorityService; |
| 47 | 52 | ||
| 53 | + private ObjectMapper mapper = new ObjectMapper(); | ||
| 54 | + | ||
| 55 | + @Autowired | ||
| 56 | + private SsoConfig ssoConfig; | ||
| 57 | + | ||
| 48 | private Pattern pattern = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*?[#?!@$%^&*-.]).{8,16}$"); | 58 | private Pattern pattern = Pattern.compile("^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*?[#?!@$%^&*-.]).{8,16}$"); |
| 49 | 59 | ||
| 50 | @RequestMapping(value = "/login/jCryptionKey") | 60 | @RequestMapping(value = "/login/jCryptionKey") |
| @@ -65,6 +75,69 @@ public class UserController extends BaseController<SysUser, Integer> { | @@ -65,6 +75,69 @@ public class UserController extends BaseController<SysUser, Integer> { | ||
| 65 | public static Map<String, Integer> USER_ERRTIMES = new HashMap<>(); | 75 | public static Map<String, Integer> USER_ERRTIMES = new HashMap<>(); |
| 66 | public static Map<String, Long> USER_LOCKTIME = new HashMap<>(); | 76 | public static Map<String, Long> USER_LOCKTIME = new HashMap<>(); |
| 67 | 77 | ||
| 78 | + @RequestMapping(value = "/login/token") | ||
| 79 | + public void login(@RequestParam String token, HttpServletRequest request, HttpServletResponse response) throws Exception { | ||
| 80 | + response.addHeader("Content-Type", "text/html;charset=UTF-8"); | ||
| 81 | + if (!ssoConfig.isSsoEnabled()) { | ||
| 82 | + response.getWriter().write("系统未开启统一登录配置,请联系管理员"); | ||
| 83 | + return; | ||
| 84 | + } | ||
| 85 | + if (token == null) { | ||
| 86 | + throw new IllegalArgumentException("请检查参数"); | ||
| 87 | + } | ||
| 88 | + | ||
| 89 | + Map<String, Object> param = new HashMap<>(), user = new HashMap<>(); | ||
| 90 | + param.put("token", token); | ||
| 91 | + param.put("sysCode", ssoConfig.getSystemCode()); | ||
| 92 | + StringBuilder sb = HttpClientUtils.post(ssoConfig.getSsoAuthUrl() + "n", HttpClientUtils.createFormEntity(param), HttpClientUtils.createFormHeader()); | ||
| 93 | + | ||
| 94 | + Assert.notNull(sb, "统一登录平台验证数据不为空"); | ||
| 95 | + logger.info(String.format("统一登录平台:%s", sb.toString())); | ||
| 96 | + param = mapper.readValue(sb.toString(), Map.class); | ||
| 97 | + if (200 == (int) param.get("code")) { | ||
| 98 | + param = mapper.readValue(mapper.writeValueAsString(param.get("data")), Map.class); | ||
| 99 | + if ("9999".equals(param.get("code")) || "9998".equals(param.get("code"))) { | ||
| 100 | + response.getWriter().write(param.get("msg").toString()); | ||
| 101 | + return; | ||
| 102 | + } else { | ||
| 103 | + param = mapper.readValue(mapper.writeValueAsString(param.get("data")), Map.class); | ||
| 104 | + } | ||
| 105 | + } else { | ||
| 106 | + response.getWriter().write(param.get("msg").toString()); | ||
| 107 | + return; | ||
| 108 | + } | ||
| 109 | + String userName = (String) param.get("userName"); | ||
| 110 | + user.put("userName_eq", userName); | ||
| 111 | + user.put("enabled", true); | ||
| 112 | + | ||
| 113 | + Iterator<SysUser> userIterator = sysUserService.list(user).iterator(); | ||
| 114 | + SysUser sysUser = null; | ||
| 115 | + while (userIterator.hasNext()) { | ||
| 116 | + sysUser = userIterator.next(); | ||
| 117 | + break; | ||
| 118 | + } | ||
| 119 | + | ||
| 120 | + if (sysUser != null) { | ||
| 121 | + HttpSession session = request.getSession(); | ||
| 122 | + // 登录 | ||
| 123 | + SecurityUtils.login(sysUser, request); | ||
| 124 | + sysUserService.recordLoginDate(sysUser.getUserName()); | ||
| 125 | + //session里写入用户名,webSocket连接时标识身份用 | ||
| 126 | + session.setAttribute(Constants.SSO_TOKEN, token); | ||
| 127 | + session.setAttribute(Constants.SESSION_USERNAME, sysUser.getUserName()); | ||
| 128 | + //session.setAttribute(Constants.RESOURCE_AUTHORITYS, sysUser.getLinks()); | ||
| 129 | + //获取公司权限数据 | ||
| 130 | + List<CompanyAuthority> cmyAuths = companyAuthorityService.findByUser(sysUser); | ||
| 131 | + session.setAttribute(Constants.COMPANY_AUTHORITYS, cmyAuths); | ||
| 132 | + | ||
| 133 | + USER_ERRTIMES.remove(sysUser.getUserName()); | ||
| 134 | + logger.error(String.format("用户: %s登录, token: %s",sysUser.getUserName(), token)); | ||
| 135 | + response.sendRedirect("/pages/home.html"); | ||
| 136 | + } else { | ||
| 137 | + response.getWriter().write("未找到有效的用户,请联系管理员"); | ||
| 138 | + } | ||
| 139 | + } | ||
| 140 | + | ||
| 68 | @RequestMapping(value = "/login", method = RequestMethod.POST) | 141 | @RequestMapping(value = "/login", method = RequestMethod.POST) |
| 69 | public Map<String, Object> login(HttpServletRequest request, @RequestParam String userName, | 142 | public Map<String, Object> login(HttpServletRequest request, @RequestParam String userName, |
| 70 | @RequestParam String password, String captcha) { | 143 | @RequestParam String password, String captcha) { |
src/main/java/com/bsth/security/SsoConfig.java
0 → 100644
| 1 | +package com.bsth.security; | ||
| 2 | + | ||
| 3 | +import com.bsth.common.Constants; | ||
| 4 | +import org.springframework.beans.factory.annotation.Value; | ||
| 5 | +import org.springframework.stereotype.Component; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * sso登录相关配置信息 | ||
| 9 | + * @author Hill | ||
| 10 | + */ | ||
| 11 | +@Component | ||
| 12 | +public class SsoConfig { | ||
| 13 | + | ||
| 14 | + /** | ||
| 15 | + * 是否开启sso登录 | ||
| 16 | + */ | ||
| 17 | + private boolean ssoEnabled; | ||
| 18 | + | ||
| 19 | + /** | ||
| 20 | + * 本系统在统一平台的系统代码 | ||
| 21 | + */ | ||
| 22 | + private String systemCode; | ||
| 23 | + | ||
| 24 | + /** | ||
| 25 | + * sso登录请求地址 | ||
| 26 | + */ | ||
| 27 | + private String ssoLoginUrl; | ||
| 28 | + | ||
| 29 | + /** | ||
| 30 | + * sso登出请求地址 | ||
| 31 | + */ | ||
| 32 | + private String ssoLogoutUrl; | ||
| 33 | + | ||
| 34 | + /** | ||
| 35 | + * sso验证请求地址 | ||
| 36 | + */ | ||
| 37 | + private String ssoAuthUrl; | ||
| 38 | + | ||
| 39 | + public boolean isSsoEnabled() { | ||
| 40 | + return ssoEnabled; | ||
| 41 | + } | ||
| 42 | + | ||
| 43 | + @Value("${sso.enabled}") | ||
| 44 | + public void setSsoEnabled(boolean ssoEnabled) { | ||
| 45 | + this.ssoEnabled = ssoEnabled; | ||
| 46 | + if (ssoEnabled) { | ||
| 47 | + Constants.LOGIN_PAGE = ssoLoginUrl; | ||
| 48 | + } else { | ||
| 49 | + Constants.LOGIN_PAGE = Constants.ORIGINAL_LOGIN_PAGE; | ||
| 50 | + } | ||
| 51 | + } | ||
| 52 | + | ||
| 53 | + | ||
| 54 | + public String getSystemCode() { | ||
| 55 | + return systemCode; | ||
| 56 | + } | ||
| 57 | + | ||
| 58 | + @Value("${sso.systemcode}") | ||
| 59 | + public void setSystemCode(String systemCode) { | ||
| 60 | + this.systemCode = systemCode; | ||
| 61 | + } | ||
| 62 | + | ||
| 63 | + public String getSsoLoginUrl() { | ||
| 64 | + return ssoLoginUrl; | ||
| 65 | + } | ||
| 66 | + | ||
| 67 | + @Value("${sso.http.url.login}") | ||
| 68 | + public void setSsoLoginUrl(String ssoLoginUrl) { | ||
| 69 | + this.ssoLoginUrl = ssoLoginUrl; | ||
| 70 | + if (ssoEnabled) { | ||
| 71 | + Constants.LOGIN_PAGE = ssoLoginUrl; | ||
| 72 | + } | ||
| 73 | + } | ||
| 74 | + | ||
| 75 | + public String getSsoLogoutUrl() { | ||
| 76 | + return ssoLogoutUrl; | ||
| 77 | + } | ||
| 78 | + | ||
| 79 | + @Value("${sso.http.url.logout}") | ||
| 80 | + public void setSsoLogoutUrl(String ssoLogoutUrl) { | ||
| 81 | + this.ssoLogoutUrl = ssoLogoutUrl; | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + public String getSsoAuthUrl() { | ||
| 85 | + return ssoAuthUrl; | ||
| 86 | + } | ||
| 87 | + | ||
| 88 | + @Value("${sso.http.url.auth}") | ||
| 89 | + public void setSsoAuthUrl(String ssoAuthUrl) { | ||
| 90 | + this.ssoAuthUrl = ssoAuthUrl; | ||
| 91 | + } | ||
| 92 | +} |
src/main/java/com/bsth/util/HttpClientUtils.java
| 1 | package com.bsth.util; | 1 | package com.bsth.util; |
| 2 | 2 | ||
| 3 | +import com.fasterxml.jackson.core.JsonProcessingException; | ||
| 4 | +import com.fasterxml.jackson.databind.ObjectMapper; | ||
| 3 | import org.apache.http.HttpEntity; | 5 | import org.apache.http.HttpEntity; |
| 6 | +import org.apache.http.NameValuePair; | ||
| 4 | import org.apache.http.client.config.RequestConfig; | 7 | import org.apache.http.client.config.RequestConfig; |
| 5 | import org.apache.http.client.entity.EntityBuilder; | 8 | import org.apache.http.client.entity.EntityBuilder; |
| 9 | +import org.apache.http.client.entity.UrlEncodedFormEntity; | ||
| 6 | import org.apache.http.client.methods.CloseableHttpResponse; | 10 | import org.apache.http.client.methods.CloseableHttpResponse; |
| 7 | import org.apache.http.client.methods.HttpGet; | 11 | import org.apache.http.client.methods.HttpGet; |
| 8 | import org.apache.http.client.methods.HttpPost; | 12 | import org.apache.http.client.methods.HttpPost; |
| @@ -10,6 +14,7 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory; | @@ -10,6 +14,7 @@ import org.apache.http.conn.ssl.SSLConnectionSocketFactory; | ||
| 10 | import org.apache.http.entity.StringEntity; | 14 | import org.apache.http.entity.StringEntity; |
| 11 | import org.apache.http.impl.client.CloseableHttpClient; | 15 | import org.apache.http.impl.client.CloseableHttpClient; |
| 12 | import org.apache.http.impl.client.HttpClients; | 16 | import org.apache.http.impl.client.HttpClients; |
| 17 | +import org.apache.http.message.BasicNameValuePair; | ||
| 13 | import org.slf4j.Logger; | 18 | import org.slf4j.Logger; |
| 14 | import org.slf4j.LoggerFactory; | 19 | import org.slf4j.LoggerFactory; |
| 15 | 20 | ||
| @@ -17,9 +22,12 @@ import javax.net.ssl.*; | @@ -17,9 +22,12 @@ import javax.net.ssl.*; | ||
| 17 | import java.io.BufferedReader; | 22 | import java.io.BufferedReader; |
| 18 | import java.io.IOException; | 23 | import java.io.IOException; |
| 19 | import java.io.InputStreamReader; | 24 | import java.io.InputStreamReader; |
| 25 | +import java.io.UnsupportedEncodingException; | ||
| 20 | import java.security.cert.CertificateException; | 26 | import java.security.cert.CertificateException; |
| 21 | import java.security.cert.X509Certificate; | 27 | import java.security.cert.X509Certificate; |
| 28 | +import java.util.ArrayList; | ||
| 22 | import java.util.HashMap; | 29 | import java.util.HashMap; |
| 30 | +import java.util.List; | ||
| 23 | import java.util.Map; | 31 | import java.util.Map; |
| 24 | 32 | ||
| 25 | /** | 33 | /** |
| @@ -29,6 +37,8 @@ public class HttpClientUtils { | @@ -29,6 +37,8 @@ public class HttpClientUtils { | ||
| 29 | 37 | ||
| 30 | static Logger logger = LoggerFactory.getLogger(HttpClientUtils.class); | 38 | static Logger logger = LoggerFactory.getLogger(HttpClientUtils.class); |
| 31 | 39 | ||
| 40 | + private static ObjectMapper mapper = new ObjectMapper(); | ||
| 41 | + | ||
| 32 | private final static String HTTPS = "https://"; | 42 | private final static String HTTPS = "https://"; |
| 33 | 43 | ||
| 34 | private static SSLConnectionSocketFactory sslConnectionSocketFactory; | 44 | private static SSLConnectionSocketFactory sslConnectionSocketFactory; |
| @@ -146,6 +156,68 @@ public class HttpClientUtils { | @@ -146,6 +156,68 @@ public class HttpClientUtils { | ||
| 146 | return stringBuffer; | 156 | return stringBuffer; |
| 147 | } | 157 | } |
| 148 | 158 | ||
| 159 | + public static StringBuilder post(String url, HttpEntity entity) throws Exception { | ||
| 160 | + return post(url, entity, new HashMap<>()); | ||
| 161 | + } | ||
| 162 | + | ||
| 163 | + public static StringBuilder post(String url, HttpEntity entity, Map<String, Object> headers) throws Exception { | ||
| 164 | + CloseableHttpClient httpClient = null; | ||
| 165 | + CloseableHttpResponse response = null; | ||
| 166 | + StringBuilder stringBuffer = null; | ||
| 167 | + try { | ||
| 168 | + httpClient = defaultHttpClient(url); | ||
| 169 | + HttpPost post = new HttpPost(url); | ||
| 170 | + | ||
| 171 | + post.setHeader("Accept", "application/json"); | ||
| 172 | + post.setHeader("Content-Type", "application/json;charset=UTF-8"); | ||
| 173 | + if (headers.size() > 0) { | ||
| 174 | + for (Map.Entry<String, Object> header : headers.entrySet()) { | ||
| 175 | + post.setHeader(header.getKey(), String.valueOf(header.getValue())); | ||
| 176 | + } | ||
| 177 | + } | ||
| 178 | + //超时时间 | ||
| 179 | + RequestConfig requestConfig = RequestConfig.custom() | ||
| 180 | + .setConnectTimeout(5000).setConnectionRequestTimeout(5000) | ||
| 181 | + .setSocketTimeout(5000).build(); | ||
| 182 | + post.setConfig(requestConfig); | ||
| 183 | + if (entity != null) { | ||
| 184 | + post.setEntity(entity); | ||
| 185 | + } | ||
| 186 | + | ||
| 187 | + response = httpClient.execute(post); | ||
| 188 | + stringBuffer = getResult(response.getEntity()); | ||
| 189 | + } catch (Exception e) { | ||
| 190 | + logger.error("", e); | ||
| 191 | + } finally { | ||
| 192 | + if (null != httpClient) | ||
| 193 | + httpClient.close(); | ||
| 194 | + if (null != response) | ||
| 195 | + response.close(); | ||
| 196 | + } | ||
| 197 | + return stringBuffer; | ||
| 198 | + } | ||
| 199 | + | ||
| 200 | + public static StringEntity createJsonEntity(Object data) throws JsonProcessingException, UnsupportedEncodingException { | ||
| 201 | + return new StringEntity(mapper.writeValueAsString(data)); | ||
| 202 | + } | ||
| 203 | + | ||
| 204 | + public static UrlEncodedFormEntity createFormEntity(Map<String, Object> data) throws UnsupportedEncodingException { | ||
| 205 | + List<NameValuePair> pairs = new ArrayList<>(); | ||
| 206 | + for (Map.Entry<String, Object> entry : data.entrySet()) { | ||
| 207 | + pairs.add(new BasicNameValuePair(entry.getKey(), String.valueOf(entry.getValue()))); | ||
| 208 | + } | ||
| 209 | + | ||
| 210 | + return new UrlEncodedFormEntity(pairs); | ||
| 211 | + } | ||
| 212 | + | ||
| 213 | + public static Map<String, Object> createFormHeader() throws UnsupportedEncodingException { | ||
| 214 | + Map<String, Object> headers = new HashMap<>(); | ||
| 215 | + headers.put("Accept", "*/*"); | ||
| 216 | + headers.put("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8"); | ||
| 217 | + | ||
| 218 | + return headers; | ||
| 219 | + } | ||
| 220 | + | ||
| 149 | private static StringBuilder getResult(HttpEntity entity) throws IOException { | 221 | private static StringBuilder getResult(HttpEntity entity) throws IOException { |
| 150 | StringBuilder stringBuffer = null; | 222 | StringBuilder stringBuffer = null; |
| 151 | if (null != entity) { | 223 | if (null != entity) { |
src/main/resources/application-dev.properties
| @@ -55,4 +55,10 @@ dsm.ack.url= http://211.95.61.66:9008/modules/dsmCheckTheRecord/addDsm? | @@ -55,4 +55,10 @@ dsm.ack.url= http://211.95.61.66:9008/modules/dsmCheckTheRecord/addDsm? | ||
| 55 | ## cp ack interface | 55 | ## cp ack interface |
| 56 | cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confirm/ | 56 | cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confirm/ |
| 57 | ## admin mail | 57 | ## admin mail |
| 58 | -admin.mail= 3090342880@qq.com | ||
| 59 | \ No newline at end of file | 58 | \ No newline at end of file |
| 59 | +admin.mail= 3090342880@qq.com | ||
| 60 | + | ||
| 61 | +sso.enabled= true | ||
| 62 | +sso.systemcode = SYSUS023 | ||
| 63 | +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 64 | +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 65 | +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToken | ||
| 60 | \ No newline at end of file | 66 | \ No newline at end of file |
src/main/resources/application-iraq.properties deleted
100644 → 0
| 1 | -server.port=9088 | ||
| 2 | - | ||
| 3 | -# dubbo����ʹ�ÿ���flag | ||
| 4 | -dubbo.use=false | ||
| 5 | - | ||
| 6 | -#JPA | ||
| 7 | -spring.jpa.hibernate.ddl-auto= none | ||
| 8 | -spring.jpa.hibernate.naming.implicit-strategy=org.hibernate.boot.model.naming.ImplicitNamingStrategyLegacyHbmImpl | ||
| 9 | -spring.jpa.hibernate.naming.physical-strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy | ||
| 10 | -spring.jpa.database= MYSQL | ||
| 11 | -spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true | ||
| 12 | -spring.jpa.show-sql= false | ||
| 13 | -spring.jpa.properties.hibernate.dialect= org.hibernate.spatial.dialect.mysql.MySQL56InnoDBSpatialDialect | ||
| 14 | - | ||
| 15 | -#DATABASE | ||
| 16 | -spring.datasource.driver-class-name= com.mysql.jdbc.Driver | ||
| 17 | -spring.datasource.url= jdbc:mysql://47.76.243.65/control?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai | ||
| 18 | -spring.datasource.username= root | ||
| 19 | -spring.datasource.password= root2jsp | ||
| 20 | -spring.datasource.type= com.zaxxer.hikari.HikariDataSource | ||
| 21 | - | ||
| 22 | -#DATASOURCE SETTING | ||
| 23 | -spring.datasource.hikari.minimum-idle= 8 | ||
| 24 | -spring.datasource.hikari.maximum-pool-size= 100 | ||
| 25 | -#spring.datasource.hikari.auto-commit= true | ||
| 26 | -spring.datasource.hikari.idle-timeout= 60000 | ||
| 27 | -#spring.datasource.hikari.pool-name= HikariPool | ||
| 28 | -spring.datasource.hikari.max-lifetime= 1800000 | ||
| 29 | -spring.datasource.hikari.connection-timeout= 3000 | ||
| 30 | -spring.datasource.hikari.connection-test-query= SELECT 1 | ||
| 31 | -spring.datasource.hikari.validation-timeout= 3000 | ||
| 32 | -spring.datasource.hikari.register-mbeans=true | ||
| 33 | - | ||
| 34 | -## gps client data | ||
| 35 | -http.gps.real.cache.url= http://10.10.150.24:12580/realGps/all | ||
| 36 | -## gateway real data | ||
| 37 | -http.gps.real.url= http://47.76.243.65:18080/transport_server/rtgps/ | ||
| 38 | -## gateway send directive | ||
| 39 | -http.send.directive= http://47.76.243.65:18080/transport_server/message/ | ||
| 40 | -## rfid data | ||
| 41 | -http.rfid.url= http://10.10.150.103:9000/rfid | ||
| 42 | -## wxsb | ||
| 43 | -#http.report.url.05= http://192.168.168.154:8088/ygjwsystem_j2ee/clbx/clbx_dd.do | ||
| 44 | -#http.report.url.22= http://192.168.168.154:8088/jgjwsystem_j2ee/clbx/clbx_dd.do | ||
| 45 | -#http.report.url.26= http://192.168.168.154:8088/nhjwsystem_j2ee/clbx/clbx_dd.do | ||
| 46 | -#http.report.url.55= http://192.168.168.154:8088/snjwsystem_j2ee/clbx/clbx_dd.do | ||
| 47 | -http.report.url.05= http://116.228.197.222:8081/ygjwsystem_j2ee/clbx/clbx_dd.do | ||
| 48 | -http.report.url.22= http://116.247.73.122:9098/jgjwsystem_j2ee/clbx/clbx_dd.do | ||
| 49 | -http.report.url.26= http://116.236.141.34:8088/nhjwsystem_j2ee/clbx/clbx_dd.do | ||
| 50 | -http.report.url.55= http://180.168.216.248:8088/snjwsystem_j2ee/clbx/clbx_dd.do | ||
| 51 | -## http ticketing interface | ||
| 52 | -http.ticketing.interface= http://112.64.187.3:1080/gjService/request | ||
| 53 | -## first last generate | ||
| 54 | -ms.fl.generate=true | ||
| 55 | -## dsm ack interface | ||
| 56 | -dsm.ack.url= http://211.95.61.66:9008/modules/dsmCheckTheRecord/addDsm? | ||
| 57 | -## cp ack interface | ||
| 58 | -cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confirm/ | ||
| 59 | -## admin mail | ||
| 60 | -admin.mail= 3090342880@qq.com | ||
| 61 | -## enabled | ||
| 62 | -enabled.sqlinject= false | ||
| 63 | \ No newline at end of file | 0 | \ No newline at end of file |
src/main/resources/application-prod.properties
| @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi | @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi | ||
| 59 | ## admin mail | 59 | ## admin mail |
| 60 | admin.mail= 3090342880@qq.com | 60 | admin.mail= 3090342880@qq.com |
| 61 | ## enabled | 61 | ## enabled |
| 62 | -enabled.sqlinject= false | ||
| 63 | \ No newline at end of file | 62 | \ No newline at end of file |
| 63 | +enabled.sqlinject= false | ||
| 64 | + | ||
| 65 | +sso.enabled= true | ||
| 66 | +sso.systemcode = SYSUS023 | ||
| 67 | +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 68 | +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 69 | +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToken | ||
| 64 | \ No newline at end of file | 70 | \ No newline at end of file |
src/main/resources/application-test.properties
| @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi | @@ -59,4 +59,10 @@ cp.ack.url= http://114.80.178.12:8778/prod-api/serverApi/instructionsIssue/confi | ||
| 59 | ## admin mail | 59 | ## admin mail |
| 60 | admin.mail= 3090342880@qq.com | 60 | admin.mail= 3090342880@qq.com |
| 61 | ## enabled | 61 | ## enabled |
| 62 | -enabled.sqlinject= false | ||
| 63 | \ No newline at end of file | 62 | \ No newline at end of file |
| 63 | +enabled.sqlinject= false | ||
| 64 | + | ||
| 65 | +sso.enabled= true | ||
| 66 | +sso.systemcode = SYSUS023 | ||
| 67 | +sso.http.url.login= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 68 | +sso.http.url.logout= http://10.10.200.142:9112/login?redirect=%2Findex | ||
| 69 | +sso.http.url.auth= http://10.10.200.142:9112/prod-api/system/utilitySystem/checkToke | ||
| 64 | \ No newline at end of file | 70 | \ No newline at end of file |
src/main/resources/datatools/config-iraq.properties deleted
100644 → 0
| 1 | -# 配置数据导入导出用到的配置信息 | ||
| 2 | - | ||
| 3 | -# 1、kettle配置文件路径(类路径) | ||
| 4 | -datatools.kettle_properties=/datatools/kettle.properties | ||
| 5 | -# 2、ktr文件通用配置变量(数据库连接,根据不同的环境需要修正) | ||
| 6 | - | ||
| 7 | -#数据库ip地址 | ||
| 8 | -datatools.kvars_dbip=47.76.243.65 | ||
| 9 | -#数据库用户名 | ||
| 10 | -datatools.kvars_dbuname=root | ||
| 11 | -#数据库密码 | ||
| 12 | -datatools.kvars_dbpwd=root2jsp | ||
| 13 | -#数据库库名 | ||
| 14 | -datatools.kvars_dbdname=control | ||
| 15 | - | ||
| 16 | -# 3、上传数据配置信息 | ||
| 17 | -# 上传文件目录配置(根据不同的环境需要修正) | ||
| 18 | -datatools.fileupload_dir=/home/bsth_control_u_d_files | ||
| 19 | -# ktr转换文件,中配置的错误输出目录(根据不同的环境需要修正) | ||
| 20 | -datatools.trans_errordir=/home/bsth_control_u_d_files/erroroutput | ||
| 21 | -# 临时输出文件目录 | ||
| 22 | -datatools.trans_tempdir=/home/bsth_control_u_d_files/temp | ||
| 23 | -# 模版文件目录 | ||
| 24 | -datatools.trans_templatedir=/home/bsth_control_u_d_files/template | ||
| 25 | - | ||
| 26 | -##---------------------------- 导入数据ktr ----------------------------## | ||
| 27 | -# 车辆信息导入ktr转换 | ||
| 28 | -datatools.cars_datainputktr=/datatools/ktrs/carsDataInput.ktr | ||
| 29 | -# 人员信息导入 | ||
| 30 | -datatools.employees_datainputktr=/datatools/ktrs/employeesDataInput.ktr | ||
| 31 | -# 路牌信息导入 | ||
| 32 | -datatools.guideboards_datainputktr=/datatools/ktrs/guideboardDataInput.ktr | ||
| 33 | -# 时刻表基础信息导入 | ||
| 34 | -datatools.ttinfo_datainputktr=/datatools/ktrs/ttinfoDataInput.ktr | ||
| 35 | -# 时刻表明细信息导入(元数据) | ||
| 36 | -datatools.ttinfodetail_metadatainputktr=/datatools/ktrs/ttinfodetailDataInputMetaData.ktr | ||
| 37 | -# 时刻表明细编辑用数据 | ||
| 38 | -datatools.ttinfodetail_foreditktr=/datatools/ktrs/ttinfodetailoutputforedit.ktr | ||
| 39 | -# 时刻表明细信息导入 | ||
| 40 | -datatools.ttinfodetail_datainputktr=/datatools/ktrs/ttinfodetailDataInput.ktr | ||
| 41 | -# 时刻表明细信息导入2 | ||
| 42 | -datatools.ttinfodetail_datainputktr2=/datatools/ktrs/ttinfodetailDataInput2.ktr | ||
| 43 | -# 时刻表明细信息导入2(版本化) | ||
| 44 | -datatools.ttinfodetail_datainputktr2version=/datatools/ktrs/ttinfodetailDataInput2_version.ktr | ||
| 45 | -# 时刻表明细信息导入2(版本化),使用生成时刻表格式 | ||
| 46 | -datatools.ttinfodetail_datainputktr2version2=/datatools/ktrs/ttinfodetailDataInput2_version_2.ktr | ||
| 47 | -# 时刻表明细信息导入2,一般格式(路牌列后加一列工时列) | ||
| 48 | -datatools.ttinfodetail_datainputktr2normalwithgs=/datatools/ktrs/ttinfodetailDataInput2_normalwithgs.ktr | ||
| 49 | - | ||
| 50 | -# 车辆配置信息导入 | ||
| 51 | -datatools.carsconfig_datainputktr=/datatools/ktrs/carsConfigDataInput.ktr | ||
| 52 | -# 人员配置信息导入 | ||
| 53 | -datatools.employeesconfig_datainputktr=/datatools/ktrs/employeesConfigDataInput.ktr | ||
| 54 | - | ||
| 55 | -# 排版规则信息导入 | ||
| 56 | -datatools.schedulerule_datainputktr=/datatools/ktrs/scheduleRuleDataInput.ktr | ||
| 57 | - | ||
| 58 | -# 4、数据导出配置信息 | ||
| 59 | -# 导出数据文件目录配置(根据不同的环境需要修正) | ||
| 60 | -datatools.fileoutput_dir=/home/bsth_control_u_d_files | ||
| 61 | - | ||
| 62 | -##---------------------------- 导出数据ktr -----------------------------## | ||
| 63 | -# 车辆信息导出ktr转换 | ||
| 64 | -datatools.cars_dataoutputktr=/datatools/ktrs/carsDataOutput.ktr | ||
| 65 | -# 人员信息导出ktr转换 | ||
| 66 | -datatools.employees_dataoutputktr=/datatools/ktrs/employeesDataOutput.ktr | ||
| 67 | -# 时刻表导出元数据ktr转换 | ||
| 68 | -datatools.ttinfodetail_metaoutput=/datatools/ktrs/ttinfodetailDataOutputMetaData.ktr | ||
| 69 | -# 时刻表导出数据ktr转换 | ||
| 70 | -datatools.ttinfodetail_output=/datatools/ktrs/ttinfodetailDataOutput.ktr | ||
| 71 | -# 排版规则导出数据ktr转换 | ||
| 72 | -datatools.schedulerule_output=/datatools/ktrs/scheduleRuleDataOutput.ktr | ||
| 73 | - | ||
| 74 | -# 车辆配置信息导出ktr转换 | ||
| 75 | -datatools.carsconfig_dataoutputktr=/datatools/ktrs/carsConfigDataOutput.ktr | ||
| 76 | -# 人员配置信息导出ktr转换 | ||
| 77 | -datatools.employeesconfig_dataoutputktr=/datatools/ktrs/employeesConfigDataOutput.ktr | ||
| 78 | - | ||
| 79 | -# 路牌信息导出 | ||
| 80 | -datatools.guideboards_dataoutputktr=/datatools/ktrs/guideboardDataOutput.ktr | ||
| 81 | - | ||
| 82 | -##--------------------------- 数据同步ktr ------------------------## | ||
| 83 | -datatools.vehicle_datasyncktr=/datatools/ktrs/vehicleDataSync.ktr | ||
| 84 | - | ||
| 85 | -# TODO: |
src/main/resources/dubbo/config-iraq.properties deleted
100644 → 0
| 1 | -# application名字 | ||
| 2 | -spring.dubbo.application.name=bsth_control_v_multi_service | ||
| 3 | -# zookeeper注册中心地址 | ||
| 4 | -spring.dubbo.registry=zookeeper://127.0.0.1:2181 | ||
| 5 | -# protocol配置 | ||
| 6 | -spring.dubbo.protocol.name=dubbo | ||
| 7 | -spring.dubbo.protocol.port=30881 | ||
| 8 | - | ||
| 9 | -#----------- dubbo:consumer 性能调优选项 -------------# | ||
| 10 | -# 远程服务调用超时时间,单位毫秒,这里设置30分钟 | ||
| 11 | -spring.dubbo.consumer.timeout=1800000 | ||
| 12 | -# 远程服务调用重试次数,0表示不需要重试 | ||
| 13 | -spring.dubbo.consumer.retries=0 | ||
| 14 | -#----------- dubbo:consumer 服务治理选项 -------------# | ||
| 15 | -# 启动不检查提供者是否存在 | ||
| 16 | -spring.dubbo.consumer.check=false |