From a80a54f1de2655723c85adb4ff7f0c7435fe3773 Mon Sep 17 00:00:00 2001 From: liquanyu Date: Wed, 15 Jan 2020 14:23:11 +0800 Subject: [PATCH] update --- .../lyms/platform/common/utils/LymsEncodeUtil.java | 4 +++ .../operate/web/session/SessionProvider.java | 35 ++++++++++++++++++++++ .../web/session/strategy/ISessionProvider.java | 4 +++ .../strategy/LocalCacheSessionStrategy.java | 9 ++++++ .../web/session/strategy/UserCenterStrategy.java | 8 +++++ .../src/main/resources/database.properties | 2 ++ 6 files changed, 62 insertions(+) diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java index e280563..381f6f4 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/LymsEncodeUtil.java @@ -29,6 +29,10 @@ public class LymsEncodeUtil { String json = aesDecrypt("26EB0301C4A2410E90985A3E55856E4BC90B764322A576155B201AFB0BC8C94FFAB29197A8B86F592DD2ABABF896EB89", key); System.out.println("解密后:" + json); + String key1 = "Lymsh@2020"; + + String d = aesEncrypt("2020-04-01",key1); + System.out.println("加密:" + d); } /** diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/SessionProvider.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/SessionProvider.java index 265039e..ee16c7e 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/SessionProvider.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/SessionProvider.java @@ -1,10 +1,15 @@ package com.lyms.platform.operate.web.session; import com.lyms.platform.common.base.LoginContext; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.LymsEncodeUtil; import com.lyms.platform.operate.web.session.strategy.ISessionProvider; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.factory.annotation.Value; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.Map; /** @@ -14,6 +19,12 @@ import java.util.Map; * Created by Administrator on 2016/6/2 0002. */ public class SessionProvider implements ISessionProvider { + + + @Value("#{configProperties['login.licence']}") + private String licence; + + /** * 配置 */ @@ -52,6 +63,24 @@ public class SessionProvider implements ISessionProvider { } @Override + public boolean checkLicence() { + if (StringUtils.isNotEmpty(licence)) + { + try { + String content = LymsEncodeUtil.aesDecrypt(licence, key); + if (StringUtils.isNotEmpty(content)) + { + Date time = DateUtil.parseYMD(content); + return time.getTime() > new Date().getTime(); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return true; + } + + @Override public LoginContext checkSession(HttpServletRequest request, HttpServletResponse response, String token) { ISessionProvider iSessionProvider = iSessionProviderMap.get(currentStrateger); if (null != iSessionProvider) { @@ -76,6 +105,12 @@ public class SessionProvider implements ISessionProvider { @Override public LoginContext login(String account, String password, String code) { + + if (!checkLicence()) + { + return null; + } + ISessionProvider iSessionProvider = iSessionProviderMap.get(currentStrateger); if (null != iSessionProvider) { return iSessionProvider.login(account, password, code); diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/ISessionProvider.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/ISessionProvider.java index bf47d8f..72a3bf7 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/ISessionProvider.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/ISessionProvider.java @@ -12,6 +12,10 @@ import javax.servlet.http.HttpServletResponse; */ public interface ISessionProvider { + String key = "Lymsh@2020"; + + boolean checkLicence(); + /** * 检查session * diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/LocalCacheSessionStrategy.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/LocalCacheSessionStrategy.java index ad11454..146b44a 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/LocalCacheSessionStrategy.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/LocalCacheSessionStrategy.java @@ -7,6 +7,8 @@ import com.lyms.platform.common.constants.ErrorCodeConstants; import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.exception.BusinessException; import com.lyms.platform.common.exception.TokenException; +import com.lyms.platform.common.utils.DateUtil; +import com.lyms.platform.common.utils.LymsEncodeUtil; import com.lyms.platform.common.utils.MD5Utils; import com.lyms.platform.common.utils.TokenUtils; import com.lyms.platform.permission.model.Users; @@ -15,9 +17,11 @@ import com.lyms.platform.permission.service.UsersService; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.UUID; @@ -42,6 +46,11 @@ public class LocalCacheSessionStrategy implements ISessionProvider { .build(); @Override + public boolean checkLicence() { + return true; + } + + @Override public LoginContext checkSession(HttpServletRequest request, HttpServletResponse response, String token) { LoginContext loginContext = cache.getIfPresent(token); if (null == loginContext || !loginContext.isLogin()) { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/UserCenterStrategy.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/UserCenterStrategy.java index b3530c9..26c9aee 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/UserCenterStrategy.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/session/strategy/UserCenterStrategy.java @@ -2,7 +2,9 @@ package com.lyms.platform.operate.web.session.strategy; import com.lyms.platform.common.base.LoginContext; import com.lyms.platform.common.exception.TokenException; +import com.lyms.platform.common.utils.DateUtil; import com.lyms.platform.common.utils.LoginUtil; +import com.lyms.platform.common.utils.LymsEncodeUtil; import com.lyms.platform.permission.model.Users; import com.lyms.platform.permission.service.UsersService; import org.apache.commons.lang.StringUtils; @@ -11,6 +13,7 @@ import org.springframework.beans.factory.annotation.Value; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.util.Date; /** * 基于用户中心的登录策略 @@ -26,6 +29,11 @@ public class UserCenterStrategy implements ISessionProvider { @Value("#{configProperties['login.typeId']}") private String typeId; @Override + public boolean checkLicence() { + return true; + } + + @Override public LoginContext checkSession(HttpServletRequest request, HttpServletResponse response,String token) { LoginContext loginContext = LoginUtil.checkLoginState(token); if(!loginContext.isLogin()) { diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties index f8ce241..562af88 100644 --- a/platform-operate-api/src/main/resources/database.properties +++ b/platform-operate-api/src/main/resources/database.properties @@ -50,6 +50,8 @@ run.mode=2 run.region=1 +login.licence=B2D619F59C36D662B56E009CDD3DAF62 + #ӹԱĬ defaultAdminOrgId=203 -- 1.8.3.1