diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java b/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java index c375c81..8c8d079 100644 --- a/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/LoginUtil.java @@ -65,7 +65,7 @@ public class LoginUtil { NameValuePair[] data = { new NameValuePair("account", account), new NameValuePair("typeId", typeId), - new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd)?"p":md5(pwd).toUpperCase()) + new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd)?"p":MD5Utils.md5(pwd).toUpperCase()) }; post.setRequestBody(data); post.setRequestHeader("Authorization", token); @@ -139,7 +139,7 @@ public class LoginUtil { NameValuePair[] data = { new NameValuePair("account", account), new NameValuePair("typeId", typeId), - new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd)?"p":md5(pwd).toUpperCase()) + new NameValuePair("password", org.apache.commons.lang.StringUtils.isBlank(pwd)?"p":MD5Utils.md5(pwd).toUpperCase()) }; post.setRequestBody(data); post.setRequestHeader("Authorization", token); @@ -275,31 +275,6 @@ public class LoginUtil { return loginState; } - - public static String md5(String plainText) { - try { - if (plainText == null) { - return null; - } - MessageDigest md = MessageDigest.getInstance("MD5"); - md.update(plainText.getBytes()); - byte b[] = md.digest(); - int i; - StringBuffer buf = new StringBuffer(""); - for (int offset = 0; offset < b.length; offset++) { - i = b[offset]; - if (i < 0) - i += 256; - if (i < 16) - buf.append("0"); - buf.append(Integer.toHexString(i)); - } - return buf.toString().toUpperCase(); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); - return null; - } - } // // public static void main(String[] args) { // System.out.println(md5("123789456")); diff --git a/platform-common/src/main/java/com/lyms/platform/common/utils/MD5Utils.java b/platform-common/src/main/java/com/lyms/platform/common/utils/MD5Utils.java new file mode 100644 index 0000000..a0a4988 --- /dev/null +++ b/platform-common/src/main/java/com/lyms/platform/common/utils/MD5Utils.java @@ -0,0 +1,34 @@ +package com.lyms.platform.common.utils; + +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +/** + * Created by Administrator on 2016/6/3 0003. + */ +public class MD5Utils { + public static String md5(String plainText) { + try { + if (plainText == null) { + return null; + } + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(plainText.getBytes()); + byte b[] = md.digest(); + int i; + StringBuffer buf = new StringBuffer(""); + for (int offset = 0; offset < b.length; offset++) { + i = b[offset]; + if (i < 0) + i += 256; + if (i < 16) + buf.append("0"); + buf.append(Integer.toHexString(i)); + } + return buf.toString().toUpperCase(); + } catch (NoSuchAlgorithmException e) { + e.printStackTrace(); + return null; + } + } +} diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java index 9ee244d..24481d5 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/controller/UsersController.java @@ -12,6 +12,8 @@ import com.lyms.platform.common.enums.YnEnums; import com.lyms.platform.common.utils.*; import com.lyms.platform.operate.web.facade.AccessPermissionFacade; import com.lyms.platform.operate.web.result.FrontEndResult; +import com.lyms.platform.operate.web.session.SessionProvider; +import com.lyms.platform.operate.web.session.strategy.ISessionProvider; import com.lyms.platform.permission.model.*; import com.lyms.platform.permission.service.*; import org.apache.commons.collections.CollectionUtils; @@ -60,6 +62,8 @@ public class UsersController extends BaseController { private PermissionsService permissionsService; @Autowired private AccessPermissionFacade accessPermissionFacade; + @Autowired + private SessionProvider iSessionProvider; private static final String LYMS = "龙源美生"; @@ -254,12 +258,13 @@ public class UsersController extends BaseController { LoginContext loginContext = new LoginContext(); loginContext.setErrormsg("服务器内部错误!"); - if(null != code) { + loginContext= iSessionProvider.login(account,password,code); + /* if(null != code) { loginContext =LoginUtil.loginByPhone(account, code, typeId, token); } if(null != password) { loginContext = LoginUtil.loginByAccount(account, password, typeId, token); - } + }*/ if(null != loginContext && loginContext.getErrorcode().equals(0)) { Users users1 = new Users(); @@ -698,7 +703,7 @@ public class UsersController extends BaseController { users.setAccount(account); users.setPhone(phone); users.setEnable(enable); - users.setPwd(password); + users.setPwd(MD5Utils.md5(password)); users.setRemarks(remarks); users.setKsId(ksId); users.setPublishId(user.getId()); @@ -713,11 +718,12 @@ public class UsersController extends BaseController { //关联登录中心ID if(StringUtils.isNotBlank(phone) || StringUtils.isNotBlank(account)) { - String pwd = null; + /**/ String pwd = null; if(StringUtils.isNotBlank(password)) { - pwd = LoginUtil.md5(password).toUpperCase(); + pwd = MD5Utils.md5(password).toUpperCase(); } - loginContext = LoginUtil.register(null, phone,account, pwd, token, typeId); +// loginContext = LoginUtil.register(null, phone,account, pwd, token, typeId); + loginContext= iSessionProvider.register(null,phone,account, pwd); } //0 成功 4009 已注册 @@ -746,7 +752,6 @@ public class UsersController extends BaseController { ResultUtils.buildSuccessResultAndWrite(response); } else { ResultUtils.buildResultAndWrite(response, ErrorCodeConstants.SYSTEM_ERROR, loginContext.getErrormsg()); - return; } } } @@ -847,7 +852,7 @@ public class UsersController extends BaseController { - LoginContext loginContext = LoginUtil.register(users.getLogincenterId().toString(), phone, account, LoginUtil.md5(password).toUpperCase(), token, typeId); + LoginContext loginContext = LoginUtil.register(users.getLogincenterId().toString(), phone, account, MD5Utils.md5(password).toUpperCase(), token, typeId); //0 成功 4009 已注册 if(loginContext.getErrorcode().equals(0) || loginContext.getErrorcode().equals(4009)) { users.setPhone(phone); @@ -1032,7 +1037,7 @@ public class UsersController extends BaseController { users.setPwd(defaultPwd); users.setModified(new Date()); usersService.updateUsers(users); - LoginContext loginContext = LoginUtil.register(users.getLogincenterId().toString(), users.getPhone(),users.getAccount(), LoginUtil.md5(defaultPwd).toUpperCase(), token, typeId); + LoginContext loginContext = LoginUtil.register(users.getLogincenterId().toString(), users.getPhone(),users.getAccount(), MD5Utils.md5(defaultPwd).toUpperCase(), token, typeId); if(loginContext.getErrorcode().equals(0)) { ResultUtils.buildSuccessResultAndWrite(response); } else { diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/TokenValidateInteceptor.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/TokenValidateInteceptor.java index f993adc..9f8be73 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/TokenValidateInteceptor.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/inteceptor/TokenValidateInteceptor.java @@ -5,12 +5,9 @@ import com.lyms.platform.common.annotation.TokenRequired; import com.lyms.platform.common.base.BaseController; import com.lyms.platform.common.base.ContextHolder; import com.lyms.platform.common.base.LoginContext; -import com.lyms.platform.common.exception.ParameterException; import com.lyms.platform.common.exception.TokenException; import com.lyms.platform.common.utils.LogUtil; -import com.lyms.platform.common.utils.LoginUtil; -import com.lyms.platform.permission.model.Users; -import com.lyms.platform.permission.service.TokenService; +import com.lyms.platform.operate.web.session.SessionProvider; import com.lyms.platform.permission.service.UsersService; import org.apache.commons.lang.StringUtils; import org.springframework.beans.factory.annotation.Autowired; @@ -20,22 +17,21 @@ import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.lang.annotation.Annotation; -import java.util.Date; /** * 验证token拦截器 - * + *

*

- * */ public class TokenValidateInteceptor extends HandlerInterceptorAdapter { + @Autowired - private UsersService usersService; + private SessionProvider sessionProvider; public static boolean isSiteController(Object handler) { return handler instanceof HandlerMethod && (((HandlerMethod) handler).getBean() instanceof BaseController); @@ -67,22 +63,23 @@ public class TokenValidateInteceptor extends HandlerInterceptorAdapter { if (StringUtils.isEmpty(token)) { throw new TokenException(); } - LoginContext loginContext = LoginUtil.checkLoginState(token); - if(!loginContext.isLogin()) { + LoginContext loginContext = sessionProvider.checkSession(httpServletRequest, httpServletResponse, token); + /* if (!loginContext.isLogin()) { throw new TokenException(); } - Users users = usersService.getUsersByLoginCenterId(loginContext.getId()); - if(null == users) { + Users users = usersService.getUsersByLoginCenterId(loginContext.getId()); + if (null == users) { throw new TokenException(); } loginContext.setId(users.getId()); loginContext.setToken(token); - httpServletRequest.setAttribute("loginContext", loginContext); + httpServletRequest.setAttribute("loginContext", loginContext);*/ - LogUtil.tokenInfo(" userId:" + users.getId() + ", ,url:" + httpServletRequest.getRequestURI() + ",method:" + httpServletRequest.getMethod()); + LogUtil.tokenInfo(" userId:" + loginContext.getId() + ", ,url:" + httpServletRequest.getRequestURI() + ",method:" + httpServletRequest.getMethod()); return loginContext.isLogin(); } + /** * This implementation is empty. */ diff --git a/platform-operate-api/src/main/resources/database.properties b/platform-operate-api/src/main/resources/database.properties index 1afd5b7..6dc3f5b 100644 --- a/platform-operate-api/src/main/resources/database.properties +++ b/platform-operate-api/src/main/resources/database.properties @@ -37,4 +37,6 @@ token.prefix=member login.typeId=2 login.token=265a841b-9bb5-434a-8c2b-e78df86fc45d -login.defaultPwd=123456 \ No newline at end of file +login.defaultPwd=123456 +#1 本地缓存 2 sso登录(需要外网) +run.mode=1 \ No newline at end of file diff --git a/platform-operate-api/src/main/resources/spring/applicationContext.xml b/platform-operate-api/src/main/resources/spring/applicationContext.xml index 745bae8..6699aff 100644 --- a/platform-operate-api/src/main/resources/spring/applicationContext.xml +++ b/platform-operate-api/src/main/resources/spring/applicationContext.xml @@ -1,28 +1,37 @@ + xmlns:context="http://www.springframework.org/schema/context" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> - - + + - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file