Browse Source

获取token接口修改,自动绑定企业,添加appId参数

wangmh 8 years ago
parent
commit
2f5beaf288

+ 12 - 10
sso-server/src/main/java/com/uas/sso/controller/LoginController.java

@@ -183,18 +183,20 @@ public class LoginController extends BaseController {
      * 根据企业uu号和用户uu号获取登录token,有效期1分钟
      * @param enUU 企业uu号
      * @param userUU 用户uu号
-     * @param timestamp 请求时间,用于判断请求是否有效,有效期10秒
-     * @param signature 加密信息,使用企业私钥加密请求参数
      * @return tokenId,token存入ModelMap对象,值为 {userUU:用户uu号,spaceUU:企业uu号}
      */
     @RequestMapping(value = "/getToken", method = RequestMethod.GET)
-    public ModelMap getToken(String enUU, String userUU, @RequestParam(name = "_timestamp") Long timestamp, @RequestParam(name = "_signature") String signature) {
-        ModelMap map = new ModelMap();
+    public ModelMap getToken(String enUU, String userUU, @RequestParam String appId) {
+        ModelMap data = new ModelMap();
+
+        if (enUU == null || userUU == null) {
+            return error("参数错误");
+        }
 
         // 根据企业uu号找到企业信息
         Userspace userspace = userspaceService.findOne(Long.valueOf(enUU));
         if (userspace == null) {
-            return error("没有找到企业");
+            return error(new ModelMap("hasUserSpace", false));
         }
 
         // 校验请求
@@ -203,18 +205,18 @@ public class LoginController extends BaseController {
         // 将企业信息、企业管理员信息写入SystemSession
         User user = userService.findOne(Long.valueOf(userUU));
         if (user == null) {
-            return error("没有找到用户");
+            return error(new ModelMap("hasUser", false));
         }
 
         if (!userspace.getUsers().contains(user)) {
-            return error("该用户不在当前企业");
+            userService.bindUserspace(appId, user.getUserUU(), userspace.getSpaceUU());
         }
 
-        map.put("spaceUU", enUU);
-        map.put("userUU", userUU);
+        data.put("spaceUU", enUU);
+        data.put("userUU", userUU);
         // token有效期,单位秒
         int expires_in = 1 * 60;
-        Token token = new Token(map, expires_in);
+        Token token = new Token(data, expires_in);
         tokenService.save(token);
         return success(token.getId());
     }

+ 4 - 4
sso-server/src/main/java/com/uas/sso/controller/UserManagerController.java

@@ -183,11 +183,11 @@ public class UserManagerController extends BaseController {
      * @return
      */
     @RequestMapping(params = "_operate=bind", method = RequestMethod.POST)
-    public ModelMap addUser(Long userUU, Long spaceUU) {
+    public ModelMap addUser(String appId, Long userUU, Long spaceUU) {
         if (StringUtils.isEmpty(userUU) || StringUtils.isEmpty(spaceUU)) {
             return error("参数错误");
         }
-        userService.bindUserspace(userUU, spaceUU);
+        userService.bindUserspace(appId, userUU, spaceUU);
         return success();
     }
 
@@ -198,7 +198,7 @@ public class UserManagerController extends BaseController {
      * @return
      */
     @RequestMapping(params = "_operate=add", method = RequestMethod.POST)
-    public ModelMap addUser(User user, Long spaceUU) {
+    public ModelMap addUser(String appId, User user, Long spaceUU) {
         // 参数判断
         if (user == null || user.getUserUU() != null || spaceUU == null) {
             return error("参数错误");
@@ -217,7 +217,7 @@ public class UserManagerController extends BaseController {
         }
 
         // 绑定企业
-        userService.bindUserspace(user.getUserUU(), spaceUU);
+        userService.bindUserspace(appId, user.getUserUU(), spaceUU);
 
         return success(user);
     }

+ 2 - 1
sso-server/src/main/java/com/uas/sso/service/UserService.java

@@ -190,10 +190,11 @@ public interface UserService {
 
     /**
      * 用户绑定企业
+     * @param appId 应用id
      * @param userUU 用户uu号
      * @param spaceUU 绑定的企业uu号
      */
-    void bindUserspace(Long userUU, Long spaceUU);
+    void bindUserspace(String appId, Long userUU, Long spaceUU);
 
     /**
      * 用户解除绑定企业

+ 5 - 4
sso-server/src/main/java/com/uas/sso/service/impl/ApplyUserSpaceServiceImpl.java

@@ -1,5 +1,6 @@
 package com.uas.sso.service.impl;
 
+import com.uas.sso.AccountConfig;
 import com.uas.sso.support.SystemSession;
 import org.springframework.data.domain.Page;
 import com.uas.sso.core.Status;
@@ -79,7 +80,7 @@ public class ApplyUserSpaceServiceImpl implements ApplyUserSpaceService {
     }
 
     @Override
-    public Page<ApplyUserSpace> findApplyAll(Integer pageNumber, Integer pageSize, Long spaceUU) {
+    public Page<ApplyUserSpace> findApplyAll(Integer pageNumber, Integer pageSize, final Long spaceUU) {
         Pageable pageable = PageInfo.pageRequest(new PageRequest(pageNumber, pageSize));
         Page<ApplyUserSpace> page = applyUserSpaceDao.findAll(new Specification<ApplyUserSpace>() {
             @Override
@@ -106,7 +107,7 @@ public class ApplyUserSpaceServiceImpl implements ApplyUserSpaceService {
     }
 
     @Override
-    public Page<ApplyUserSpace> findUserApply(Integer pageNumber, Integer pageSize, Long userUU) {
+    public Page<ApplyUserSpace> findUserApply(Integer pageNumber, Integer pageSize, final Long userUU) {
         Pageable pageable = PageInfo.pageRequest(new PageRequest(pageNumber, pageSize));
         Page<ApplyUserSpace> page =  applyUserSpaceDao.findAll(new Specification<ApplyUserSpace>() {
             @Override
@@ -144,7 +145,7 @@ public class ApplyUserSpaceServiceImpl implements ApplyUserSpaceService {
         applyUserSpaceDao.save(applyUserSpace);
 
         // 将用户添加到企业
-        userService.bindUserspace(userUU, loginUser.getSpaceUU());
+        userService.bindUserspace(AccountConfig.ACCOUNT_CENTER, userUU, loginUser.getSpaceUU());
     }
 
     @Override
@@ -170,7 +171,7 @@ public class ApplyUserSpaceServiceImpl implements ApplyUserSpaceService {
     }
 
     @Override
-    public Page<ApplyUserSpace> findApplyByUserUU(Long userUU, int page, int size) {
+    public Page<ApplyUserSpace> findApplyByUserUU(final Long userUU, int page, int size) {
         Pageable pageable = new PageRequest(page, size);
         Page<ApplyUserSpace> pApply = applyUserSpaceDao.findAll(new Specification<ApplyUserSpace>() {
             @Override

+ 1 - 1
sso-server/src/main/java/com/uas/sso/service/impl/UserServiceImpl.java

@@ -349,7 +349,7 @@ public class UserServiceImpl implements UserService {
     }
 
     @Override
-    public void bindUserspace(Long userUU, Long spaceUU) {
+    public void bindUserspace(String appId, Long userUU, Long spaceUU) {
         // 找到用户和企业
         User user = findOne(userUU);
         Userspace userspace = userspaceService.findOne(spaceUU);