|
@@ -7,19 +7,20 @@
|
|
|
|
|
|
package cn.com.qmth.examcloud.app.controller.v1;
|
|
|
|
|
|
-import cn.com.qmth.examcloud.app.model.Constants;
|
|
|
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.service.UserAuthService;
|
|
|
-import cn.com.qmth.examcloud.app.utils.JsonMapper;
|
|
|
+import cn.com.qmth.examcloud.app.utils.StrUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpSession;
|
|
|
-import java.util.Date;
|
|
|
|
|
|
import static cn.com.qmth.examcloud.app.model.Constants.COMMON_ACCOUNT_TYPE;
|
|
|
|
|
@@ -32,26 +33,34 @@ import static cn.com.qmth.examcloud.app.model.Constants.COMMON_ACCOUNT_TYPE;
|
|
|
@RequestMapping("/api/v1")
|
|
|
@Api(tags = "认证中心相关接口")
|
|
|
public class UserAuthRestController {
|
|
|
+ private final static Logger log = LoggerFactory.getLogger(UserAuthRestController.class);
|
|
|
@Autowired
|
|
|
private UserAuthService userAuthService;
|
|
|
|
|
|
@ApiOperation(value = "登录接口")
|
|
|
@RequestMapping(value = "/user/login", method = {RequestMethod.GET, RequestMethod.POST})
|
|
|
- public Result login(@RequestParam String account, @RequestParam String password, @RequestParam(required = false) String accountType,
|
|
|
- @RequestParam(required = false) Long rootOrgId, @RequestParam(required = false) String domain, HttpServletRequest request) throws Exception {
|
|
|
- Result<String> result = userAuthService.login(account, password, accountType, rootOrgId, domain);
|
|
|
- if (result.isSuccess()) {
|
|
|
- UserToken curUser = new JsonMapper().fromJson(result.getData(), UserToken.class);
|
|
|
- curUser.setAccount(account);
|
|
|
- curUser.setPassword(password);
|
|
|
- curUser.setAccountType(accountType != null ? accountType : COMMON_ACCOUNT_TYPE);
|
|
|
- curUser.setDomain(domain);
|
|
|
- curUser.setCreateTime(new Date());
|
|
|
- //存放到Session中
|
|
|
- HttpSession session = request.getSession();
|
|
|
- session.setMaxInactiveInterval(Constants.EXPIRE_TIME);
|
|
|
- session.setAttribute(curUser.getKey(), curUser);
|
|
|
+ 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, HttpServletRequest request) throws Exception {
|
|
|
+ if (accountType == null) {
|
|
|
+ accountType = COMMON_ACCOUNT_TYPE;
|
|
|
}
|
|
|
+ Result<UserInfo> result = userAuthService.login(account, password, accountType, rootOrgId, domain);
|
|
|
+ /*if (result.isSuccess()) {
|
|
|
+ //获取当前登录用户信息
|
|
|
+ UserInfo userInfo = result.getData();
|
|
|
+ UserToken userToken = new UserToken(account, password, accountType, rootOrgId, domain, userInfo.getKey(), userInfo.getToken());
|
|
|
+
|
|
|
+ //存放登录信息到Session中
|
|
|
+ String sessionKey = StrUtils.uuid();
|
|
|
+ HttpSession session = request.getSession();
|
|
|
+ //session.setMaxInactiveInterval(EXPIRE_TIME);
|
|
|
+ session.setMaxInactiveInterval(60);
|
|
|
+ session.setAttribute(sessionKey, userToken);
|
|
|
+ log.debug("token:" + userToken.getToken() + " sessionId:" + sessionKey);
|
|
|
+
|
|
|
+ //替换Token为本地SessionKey
|
|
|
+ userInfo.setToken(sessionKey);
|
|
|
+ }*/
|
|
|
return result;
|
|
|
}
|
|
|
|