diff --git a/ReleaseNotes.txt b/ReleaseNotes.txt index 9f5fb05f54d89a52d08c7de4dc8f1666a63649f6..e961b1cdc1a0509b70b50f6a3df722082f7a576d 100644 --- a/ReleaseNotes.txt +++ b/ReleaseNotes.txt @@ -1,9 +1,9 @@ MaxKey v 3.0.0 GA 2021/09/29 - *(MAXKEY-210701) 好雨科技Rainbond适配 + *(MAXKEY-210701) 好雨科技Rainbond适配,实现基于Rainbond应用商店的快速部署 *(MAXKEY-210702) 制定MaxKey技术路线图 *(MAXKEY-210703) CHINER元数建模构建MaxKEY ER模型完善,数据库字段说明完善 - *(MAXKEY-210704) Nacos配置中心支持 - *(MAXKEY-210705) springcloud &springcloud alibaba支持 + *(MAXKEY-210704) Nacos配置中心支持,可选支持本地和Nacos配置中心配置,配置更加灵活 + *(MAXKEY-210705) springcloud &springcloud alibaba微服务支持 *(MAXKEY-210706) spring cloud gateway支持 *(MAXKEY-210707) application.properties参数调整和优化,支持外部Docker及环境变量的配置 *(MAXKEY-210708) 同步器定时任务功能优化 @@ -24,7 +24,10 @@ *(MAXKEY-210723) mgt登录错误提示信息 *(MAXKEY-210724) 警告提示信息修复 *(MAXKEY-210725) 工具类增强和优化 - *(MAXKEY-210726) 依赖jar引用、更新和升级 + *(MAXKEY-210726) 登录认证优化,增加密码策略应用和验证 + *(MAXKEY-210727) CAS登录中参数回传的修复,增加'#'停止符的优化 + *(MAXKEY-210728) StringUtils优化,直接继承org.apache.commons.lang3.StringUtils,增加自有逻辑 + *(MAXKEY-210729) 依赖jar引用、更新和升级 spring 5.3.10 springBoot 2.5.5 springkafka 2.7.7 diff --git a/maxkey-common/src/main/java/org/maxkey/util/StringUtils.java b/maxkey-common/src/main/java/org/maxkey/util/StringUtils.java index 2ccd17be5f19ec72051ee162e6b591217a248e88..62361c73e7ad6fffa2344098570d25d90a9d0dfd 100644 --- a/maxkey-common/src/main/java/org/maxkey/util/StringUtils.java +++ b/maxkey-common/src/main/java/org/maxkey/util/StringUtils.java @@ -27,41 +27,7 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -public final class StringUtils { - - /** - * avoid null, and return value trim. - * - * @param value string value. - * @return the trim of value. - */ - public static String avoidNull(String value) { - return (value == null) ? "" : value.trim(); - } - - public static boolean isNull(String value) { - return value == null; - } - - /** - * @param value string value - * @return value - */ - public static boolean isNullOrBlank(String value) { - return value == null || "".equals(value.trim()); - } - - public static boolean isNotEmpty(String value) { - return !isNullOrBlank(value); - } - - public static boolean isNotNullAndEquals(String value, String equalString) { - return !isNullOrBlank(value) && value.equals(equalString); - } - - public static boolean isNotNullAndEqualsIgnoreCase(String value, String equalString) { - return !isNullOrBlank(value) && value.equalsIgnoreCase(equalString); - } +public final class StringUtils extends org.apache.commons.lang3.StringUtils { /* * 获取指定UTF-8模式字节长度的字符串 @@ -441,20 +407,20 @@ public final class StringUtils { * catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } * }else{ pinyin += nameChar[i]; } } return pinyin; } */ - public static Map aduserName2Map(String aduserName) { - if (isNullOrBlank(aduserName)) { + public static Map aduserName2Map(String activeDirectoryUserName) { + if (isEmpty(activeDirectoryUserName)) { return null; } Map map = new HashMap(); int index = 0; - if ((index = aduserName.indexOf("\\")) > 0) { - map.put("domain", aduserName.substring(0, index)); - map.put("userName", aduserName.substring(index + 1, aduserName.length())); - } else if ((index = aduserName.indexOf("@")) > 0) { - map.put("userName", aduserName.substring(0, index)); - map.put("domain", aduserName.substring(index + 1)); + if ((index = activeDirectoryUserName.indexOf("\\")) > 0) { + map.put("domain", activeDirectoryUserName.substring(0, index)); + map.put("userName", activeDirectoryUserName.substring(index + 1, activeDirectoryUserName.length())); + } else if ((index = activeDirectoryUserName.indexOf("@")) > 0) { + map.put("userName", activeDirectoryUserName.substring(0, index)); + map.put("domain", activeDirectoryUserName.substring(index + 1)); } else { - map.put("userName", aduserName); + map.put("userName", activeDirectoryUserName); } return map; } @@ -465,16 +431,16 @@ public final class StringUtils { * @param str * @return */ - public static String takeoffDomain(String aduserName) { - Map map = aduserName2Map(aduserName); + public static String takeoffDomain(String activeDirectoryUserName) { + Map map = aduserName2Map(activeDirectoryUserName); if (BeanUtil.isNotNull(map)) { return map.get("userName"); } return null; } - public static String getAdDomin(String aduserName) { - Map map = aduserName2Map(aduserName); + public static String getActiveDirectoryDomin(String activeDirectoryUserName) { + Map map = aduserName2Map(activeDirectoryUserName); if (BeanUtil.isNotNull(map)) { return map.get("domain"); } diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java index d65655275ebbe49895cd187dc9334502a1ca592f..70be05e12f813cac70abb506250363bb65f7efe4 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/RegistrationController.java @@ -182,7 +182,7 @@ public class RegistrationController { @RequestMapping(value={"/registeron"}) @ResponseBody public Message registeron(UserInfo userInfo,@RequestParam String emailMobile) throws ServletException, IOException { - if(StringUtils.isNullOrBlank(emailMobile)) { + if(StringUtils.isEmpty(emailMobile)) { return new Message(WebContext.getI18nValue("register.emailMobile.error"),"1"); } if(StringUtils.isValidEmail(emailMobile)) { diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java index ddea465c82c0d0463df22d3dd87b5d1b3fe0452d..31fb6ebabfdd5f4ca232e8c9c6edc8a7e0be90e0 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/contorller/SafeController.java @@ -135,7 +135,7 @@ public class SafeController { _logger.debug("App Login Password : "+userInfo.getAppLoginPassword()); _logger.debug("App Login new Password : "+ReciprocalUtils.encode(newPassword)); if(newPassword.equals(confirmPassword)){ - if(StringUtils.isNullOrBlank(userInfo.getAppLoginPassword())||userInfo.getAppLoginPassword().equals(ReciprocalUtils.encode(oldPassword))){ + if(StringUtils.isEmpty(userInfo.getAppLoginPassword())||userInfo.getAppLoginPassword().equals(ReciprocalUtils.encode(oldPassword))){ userInfo.setAppLoginPassword(ReciprocalUtils.encode(newPassword)); boolean change= userInfoService.changeAppLoginPassword(userInfo); _logger.debug(""+change); diff --git a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/filter/SingleSignOnFilter.java b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/filter/SingleSignOnFilter.java index 3736d1ef4639dfccb845829057ef94ba5864e8cc..7144a777697b9fdd0a209c372faef90026bc4e4d 100644 --- a/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/filter/SingleSignOnFilter.java +++ b/maxkey-webs/maxkey-web-maxkey/src/main/java/org/maxkey/web/filter/SingleSignOnFilter.java @@ -50,7 +50,7 @@ public class SingleSignOnFilter implements Filter { // 浠巗ession涓幏鍙栧瓨鏀剧殑appid String appId = (String) session.getAttribute(WebConstants.SINGLE_SIGN_ON_APP_ID); // 鑾峰彇鏈�鍚庝竴涓�"/"鐨勬暟鎹綔涓篴ppid锛屼繚瀛樺湪session涓� - if (StringUtils.isNullOrBlank(appId)) { + if (StringUtils.isEmpty(appId)) { String uir = httpServletRequest.getRequestURI(); session.setAttribute(WebConstants.SINGLE_SIGN_ON_APP_ID, uir.substring(uir.lastIndexOf("/") + 1)); diff --git a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java index 1983e6582a1ab71c5acf8b3930d1e02dd8e06cdd..8bef2662abf801b25e8e1820c46d7ad53a436f1e 100644 --- a/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java +++ b/maxkey-webs/maxkey-web-mgt/src/main/java/org/maxkey/web/contorller/UserInfoController.java @@ -292,7 +292,7 @@ public class UserInfoController { binder.registerCustomEditor(String.class, new PropertyEditorSupport() { @Override public void setAsText(String value) { - if(StringUtils.isNullOrBlank(value)){ + if(StringUtils.isEmpty(value)){ setValue(null); }else{ setValue(value);