deason 7 ani în urmă
părinte
comite
a98f3e1cb7

+ 9 - 9
src/main/java/cn/com/qmth/examcloud/app/controller/version_1_0/UserAuthRestController.java

@@ -8,10 +8,10 @@
 package cn.com.qmth.examcloud.app.controller.version_1_0;
 
 import cn.com.qmth.examcloud.app.core.utils.StrUtils;
+import cn.com.qmth.examcloud.app.model.LoginInfo;
 import cn.com.qmth.examcloud.app.model.LoginType;
 import cn.com.qmth.examcloud.app.model.Result;
-import cn.com.qmth.examcloud.app.model.UserInfo;
-import cn.com.qmth.examcloud.app.model.UserToken;
+import cn.com.qmth.examcloud.app.model.User;
 import cn.com.qmth.examcloud.app.service.RedisService;
 import cn.com.qmth.examcloud.app.service.UserAuthService;
 import io.swagger.annotations.Api;
@@ -45,21 +45,21 @@ public class UserAuthRestController {
 
     @ApiOperation(value = "登录接口")
     @RequestMapping(value = "/user/login", method = {RequestMethod.GET, RequestMethod.POST})
-    public Result<UserInfo> login(@RequestParam String account, @RequestParam String password, @RequestParam(required = false) String accountType,
-                                  @RequestParam(required = false) Long rootOrgId, @RequestParam(required = false) String domain) throws Exception {
+    public Result<User> login(@RequestParam String account, @RequestParam String password, @RequestParam(required = false) String accountType,
+                              @RequestParam(required = false) Long rootOrgId, @RequestParam(required = false) String domain) throws Exception {
         if (StringUtils.isBlank(accountType)) {
             accountType = LoginType.COMMON_LOGIN_NAME.name();
         }
-        Result<UserInfo> result = userAuthService.login(account, password, accountType, rootOrgId, domain);
+        Result<User> result = userAuthService.login(account, password, accountType, rootOrgId, domain);
         /*if (result.isSuccess()) {
             //获取当前登录用户信息
-            UserInfo userInfo = result.getData();
+            User userInfo = result.getData();
             //封装原始登录信息
-            UserToken userToken = new UserToken(account, password, accountType, rootOrgId, domain, userInfo.getKey(), userInfo.getToken());
+            LoginInfo loginInfo = new LoginInfo(account, password, accountType, rootOrgId, domain, userInfo.getKey(), userInfo.getToken());
             //将原始登录信息存放到Redis中
             String redisKey = StrUtils.md5Key(userInfo.getKey());
-            redisService.cacheUserToken(redisKey, userToken, APP_SESSION_EXPIRE_TIME);
-            log.debug("redisKey:" + redisKey + " loginToken:" + userToken.getToken());
+            redisService.cacheUserToken(redisKey, loginInfo, APP_SESSION_EXPIRE_TIME);
+            log.debug("redisKey:" + redisKey + " loginToken:" + loginInfo.getToken());
             //替换login token为缓存的redisKey,并作为接口的结果返回
             userInfo.setToken(redisKey);
         }*/

+ 13 - 13
src/main/java/cn/com/qmth/examcloud/app/core/config/AccessInterceptor.java

@@ -8,9 +8,9 @@
 package cn.com.qmth.examcloud.app.core.config;
 
 import cn.com.qmth.examcloud.app.model.DeviceRecord;
+import cn.com.qmth.examcloud.app.model.LoginInfo;
 import cn.com.qmth.examcloud.app.model.Result;
-import cn.com.qmth.examcloud.app.model.UserInfo;
-import cn.com.qmth.examcloud.app.model.UserToken;
+import cn.com.qmth.examcloud.app.model.User;
 import cn.com.qmth.examcloud.app.service.DeviceRecordService;
 import cn.com.qmth.examcloud.app.service.RedisService;
 import cn.com.qmth.examcloud.app.service.UserAuthService;
@@ -46,24 +46,24 @@ public class AccessInterceptor extends HandlerInterceptorAdapter {
         //用户带的login token实际为缓存的redisKey
         /*String redisKey = record.getLoginToken();
         if (StringUtils.isNotBlank(redisKey)) {
-            //通过redisKey获取原始的登录信息,userToken为null则代表尚未登录
-            UserToken userToken = redisService.getUserToken(redisKey);
-            if (userToken != null) {
+            //通过redisKey获取原始的登录信息,loginInfo为null则代表尚未登录
+            LoginInfo loginInfo = redisService.getUserToken(redisKey);
+            if (loginInfo != null) {
                 //判断原始的login token是否在有效时间内
-                if (userToken.hasExpired(PLATFORM_SESSION_EXPIRE_TIME)) {
+                if (loginInfo.hasExpired(PLATFORM_SESSION_EXPIRE_TIME)) {
                     //已超过有效时间,则自动登录续期
-                    Result<UserInfo> result = userAuthService.login(userToken.getAccount(), userToken.getPassword(),
-                            userToken.getAccountType(), userToken.getRootOrgId(), userToken.getDomain());
-                    UserInfo userInfo = result.getData();
+                    Result<User> result = userAuthService.login(loginInfo.getAccount(), loginInfo.getPassword(),
+                            loginInfo.getAccountType(), loginInfo.getRootOrgId(), loginInfo.getDomain());
+                    User userInfo = result.getData();
                     if (userInfo != null) {
                         //登录成功后缓存新的login token
-                        log.debug("redisKey:" + redisKey + " newLoginToken:" + userToken.getToken());
-                        userToken.setToken(userInfo.getToken());
-                        redisService.cacheUserToken(redisKey, userToken, APP_SESSION_EXPIRE_TIME);
+                        log.debug("redisKey:" + redisKey + " newLoginToken:" + loginInfo.getToken());
+                        loginInfo.setToken(userInfo.getToken());
+                        redisService.cacheUserToken(redisKey, loginInfo, APP_SESSION_EXPIRE_TIME);
                     }
                 }
                 //将login token绑定到request请求中
-                request.setAttribute("loginToken", userToken.getToken());
+                request.setAttribute("loginToken", loginInfo.getToken());
             }
             //初始化内部接口鉴权
             //redisService.initTraceRequest();

+ 9 - 4
src/main/java/cn/com/qmth/examcloud/app/model/UserToken.java → src/main/java/cn/com/qmth/examcloud/app/model/LoginInfo.java

@@ -11,8 +11,13 @@ import java.io.Serializable;
 import java.util.Calendar;
 import java.util.Date;
 
-/* 用户登录信息 */
-public class UserToken implements Serializable {
+/**
+ * 用户登录信息
+ *
+ * @author: fengdesheng
+ * @since: 2018/7/16
+ */
+public class LoginInfo implements Serializable {
     private static final long serialVersionUID = 1L;
     private String account;
     private String password;
@@ -23,7 +28,7 @@ public class UserToken implements Serializable {
     private String token;
     private Date createTime;
 
-    public UserToken(String account, String password, String accountType, Long rootOrgId, String domain, String key, String token) {
+    public LoginInfo(String account, String password, String accountType, Long rootOrgId, String domain, String key, String token) {
         this.account = account;
         this.password = password;
         this.accountType = accountType;
@@ -34,7 +39,7 @@ public class UserToken implements Serializable {
         this.createTime = new Date();
     }
 
-    public UserToken() {
+    public LoginInfo() {
 
     }
 

+ 1 - 1
src/main/java/cn/com/qmth/examcloud/app/model/UserInfo.java → src/main/java/cn/com/qmth/examcloud/app/model/User.java

@@ -15,7 +15,7 @@ import java.io.Serializable;
  * @author: fengdesheng
  * @since: 2018/7/16
  */
-public class UserInfo implements Serializable {
+public class User implements Serializable {
     private static final long serialVersionUID = 8766713125414955078L;
     /**
      * 用户ID

+ 7 - 7
src/main/java/cn/com/qmth/examcloud/app/service/RedisService.java

@@ -11,7 +11,7 @@ import cn.com.qmth.examcloud.app.core.exception.ApiException;
 import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
 import cn.com.qmth.examcloud.app.core.utils.ThreadUtils;
 import cn.com.qmth.examcloud.app.model.Constants;
-import cn.com.qmth.examcloud.app.model.UserToken;
+import cn.com.qmth.examcloud.app.model.LoginInfo;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -61,23 +61,23 @@ public class RedisService {
     /**
      * 缓存用户登录信息
      */
-    public void cacheUserToken(String key, UserToken value, long seconds) {
+    public void cacheUserToken(String key, LoginInfo loginInfo, long seconds) {
         if (StringUtils.isEmpty(key)) {
             throw new ApiException("Key must be not empty.");
         }
-        this.set(APP_SESSION_USER_KEY_PREFIX + key, new JsonMapper().toJson(value), seconds);
+        this.set(APP_SESSION_USER_KEY_PREFIX + key, new JsonMapper().toJson(loginInfo), seconds);
     }
 
     /**
      * 获取缓存中的用户登录信息
      */
-    public UserToken getUserToken(String key) {
+    public LoginInfo getUserToken(String key) {
         if (StringUtils.isEmpty(key)) {
             throw new ApiException("Key must be not empty.");
         }
-        String value = this.get(APP_SESSION_USER_KEY_PREFIX + key);
-        if (value != null) {
-            return new JsonMapper().fromJson(value, UserToken.class);
+        String loginInfo = this.get(APP_SESSION_USER_KEY_PREFIX + key);
+        if (loginInfo != null) {
+            return new JsonMapper().fromJson(loginInfo, LoginInfo.class);
         }
         return null;
     }

+ 2 - 2
src/main/java/cn/com/qmth/examcloud/app/service/UserAuthService.java

@@ -8,7 +8,7 @@
 package cn.com.qmth.examcloud.app.service;
 
 import cn.com.qmth.examcloud.app.model.Result;
-import cn.com.qmth.examcloud.app.model.UserInfo;
+import cn.com.qmth.examcloud.app.model.User;
 
 /**
  * 认证中心业务服务接口
@@ -18,7 +18,7 @@ import cn.com.qmth.examcloud.app.model.UserInfo;
  */
 public interface UserAuthService {
 
-    Result<UserInfo> login(String account, String password, String accountType, Long rootOrgId, String domain) throws Exception;
+    Result<User> login(String account, String password, String accountType, Long rootOrgId, String domain) throws Exception;
 
     Result logout(String key, String token) throws Exception;
 

+ 3 - 3
src/main/java/cn/com/qmth/examcloud/app/service/impl/UserAuthServiceImpl.java

@@ -13,7 +13,7 @@ import cn.com.qmth.examcloud.app.core.utils.JsonMapper;
 import cn.com.qmth.examcloud.app.model.Constants;
 import cn.com.qmth.examcloud.app.model.ResBody;
 import cn.com.qmth.examcloud.app.model.Result;
-import cn.com.qmth.examcloud.app.model.UserInfo;
+import cn.com.qmth.examcloud.app.model.User;
 import cn.com.qmth.examcloud.app.service.PropertyService;
 import cn.com.qmth.examcloud.app.service.UserAuthService;
 import okhttp3.*;
@@ -42,7 +42,7 @@ public class UserAuthServiceImpl implements UserAuthService {
     private PropertyService propertyService;
 
     @Override
-    public Result<UserInfo> login(String account, String password, String accountType, Long rootOrgId, String domain) throws Exception {
+    public Result<User> login(String account, String password, String accountType, Long rootOrgId, String domain) throws Exception {
         //封装请求参数
         final String requestUrl = String.format("%s/api/ecs_core/auth/login", propertyService.getUserAuthUrl());
         Map<String, String> params = new HashMap<>();
@@ -62,7 +62,7 @@ public class UserAuthServiceImpl implements UserAuthService {
         String bodyStr = response.body().string();
         if (response.isSuccessful()) {
             JsonMapper mapper = new JsonMapper();
-            UserInfo userInfo = mapper.fromJson(bodyStr, UserInfo.class);
+            User userInfo = mapper.fromJson(bodyStr, User.class);
             return new Result().success(userInfo);
         } else {
             log.warn("Http response is " + bodyStr);