Browse Source

1.权限模块获取登陆用户信息逻辑改动

2.commons模块清理部分对gov-access的引用
dev_shibei_match
wxz 6 years ago
parent
commit
927c9431c0
  1. 21
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java
  2. 16
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java
  3. 43
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java
  4. 5
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java
  5. 11
      epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java

21
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/CommonGovAccessFeignClient.java

@ -2,40 +2,21 @@ package com.epmet.commons.tools.feign;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO;
import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO;
import com.epmet.commons.tools.feign.fallback.CommonGovAccessFeignClientFallback;
import com.epmet.commons.tools.utils.Result;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
/**
* @Description
* @Author sun
*/
//, url = "localhost:8099"
//@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class, url = "localhost:8099")
@FeignClient(name = ServiceConstant.GOV_ACCESS_SERVER, fallback = CommonGovAccessFeignClientFallback.class)
public interface CommonGovAccessFeignClient {
/**
* 查询登陆用户信息
* @return
*/
@PostMapping("/gov/access/access/loginuserinfo")
Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody LoginUserInfoFormDTO dto);
/**
* 查询角色所有operation及其范围(缓存)
* @return
*/
@PostMapping("/gov/access/access/roleallopesandscopes/{roleId}")
Result<List<RoleOpeScopeResultDTO>> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId);
/**
* 用户是否具有指定权限
* @param form

16
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/feign/fallback/CommonGovAccessFeignClientFallback.java

@ -2,16 +2,10 @@ package com.epmet.commons.tools.feign.fallback;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.form.HasSpecifiedPermissionFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoFormDTO;
import com.epmet.commons.tools.dto.form.LoginUserInfoResultDTO;
import com.epmet.commons.tools.dto.form.RoleOpeScopeResultDTO;
import com.epmet.commons.tools.feign.CommonGovAccessFeignClient;
import com.epmet.commons.tools.utils.ModuleUtils;
import com.epmet.commons.tools.utils.Result;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;
import java.util.List;
/**
* 调用政府端权限
@ -22,16 +16,6 @@ import java.util.List;
@Component
public class CommonGovAccessFeignClientFallback implements CommonGovAccessFeignClient {
@Override
public Result<LoginUserInfoResultDTO> getLoginUserInfo(LoginUserInfoFormDTO dto) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "getLoginUserInfo", dto);
}
@Override
public Result<List<RoleOpeScopeResultDTO>> listRoleAllOperationScopesByRoleId(@PathVariable("roleId") String roleId){
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "listRoleAllOperationScopesByRoleId", roleId);
}
@Override
public Result<Boolean> hasSpecifiedPermission(HasSpecifiedPermissionFormDTO form) {
return ModuleUtils.feignConError(ServiceConstant.GOV_ACCESS_SERVER, "hasSpecifiedPermission", form);

43
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/controller/AccessController.java

@ -1,16 +1,13 @@
package com.epmet.controller;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.ValidatorUtils;
import com.epmet.dto.form.*;
import com.epmet.dto.result.LoginUserInfoResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO;
import com.epmet.service.AccessService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.constraints.NotBlank;
import java.util.List;
import java.util.Set;
@ -46,26 +43,26 @@ public class AccessController {
return new Result();
}
/**
* 从缓存中查询用户信息(DataFilterAspect中用到)
* @return
*/
@PostMapping("loginuserinfo")
public Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) {
ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class);
GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId());
LoginUserInfoResultDTO resultDTO = null;
if (govTokenDto != null) {
resultDTO = new LoginUserInfoResultDTO();
resultDTO.setRoleIdList(govTokenDto.getRoleIdList());
//resultDTO.setGridId(govTokenDto.getGridId());
resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath());
resultDTO.setGridIdList(govTokenDto.getGridIdList());
resultDTO.setDeptIdList(govTokenDto.getDeptIdList());
resultDTO.setUserId(govTokenDto.getUserId());
}
return new Result<LoginUserInfoResultDTO>().ok(resultDTO);
}
///**
// * 从缓存中查询用户信息(DataFilterAspect中用到)
// * @return
// */
//@PostMapping("loginuserinfo")
//public Result<LoginUserInfoResultDTO> getLoginUserInfo(@RequestBody StaffPermCacheFormDTO dto) {
// ValidatorUtils.validateEntity(dto, StaffPermCacheFormDTO.GetStaffCurrPermissions.class);
// GovTokenDto govTokenDto = accessService.getUserDetails(dto.getApp(), dto.getClient(), dto.getStaffId());
// LoginUserInfoResultDTO resultDTO = null;
// if (govTokenDto != null) {
// resultDTO = new LoginUserInfoResultDTO();
// resultDTO.setRoleIdList(govTokenDto.getRoleIdList());
// //resultDTO.setGridId(govTokenDto.getGridId());
// resultDTO.setOrgIdPath(govTokenDto.getOrgIdPath());
// resultDTO.setGridIdList(govTokenDto.getGridIdList());
// resultDTO.setDeptIdList(govTokenDto.getDeptIdList());
// resultDTO.setUserId(govTokenDto.getUserId());
// }
// return new Result<LoginUserInfoResultDTO>().ok(resultDTO);
//}
/**
* 查询角色的操作key对应操作范围列表(缓存)

5
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/AccessService.java

@ -2,6 +2,7 @@ package com.epmet.service;
import com.epmet.commons.tools.security.dto.GovTokenDto;
import com.epmet.dto.form.GetSQLFilterFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO;
import java.util.List;
@ -17,10 +18,10 @@ public interface AccessService {
void updatePermissionCache(String staffId, String app, String client, Set<String> permissions, Set<String> roleIdList, String orgIdPath, String gridId);
/**
* 查询用户当前权限列表
* 查询登陆用户登陆信息
* @return
*/
GovTokenDto getUserDetails(String app, String client, String staffId);
LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId);
/**
* 查询角色的操作key对应操作范围列表

11
epmet-module/gov-access/gov-access-server/src/main/java/com/epmet/service/impl/AccessServiceImpl.java

@ -16,6 +16,7 @@ import com.epmet.dto.CustomerAgencyDTO;
import com.epmet.dto.GovStaffRoleDTO;
import com.epmet.dto.form.GetSQLFilterFormDTO;
import com.epmet.dto.form.StaffRoleFormDTO;
import com.epmet.dto.result.LoginUserDetailsResultDTO;
import com.epmet.dto.result.RoleOpeScopeResultDTO;
import com.epmet.feign.EpmetUserFeignClient;
import com.epmet.feign.GovOrgFeignClient;
@ -90,8 +91,8 @@ public class AccessServiceImpl implements AccessService {
}
@Override
public GovTokenDto getUserDetails(String app, String client, String staffId) {
return cpUserDetailRedis.get(app, client, staffId, GovTokenDto.class);
public LoginUserDetailsResultDTO getLoginUserDetails(String app, String client, String staffId) {
return cpUserDetailRedis.get(app, client, staffId, LoginUserDetailsResultDTO.class);
}
/**
@ -132,7 +133,7 @@ public class AccessServiceImpl implements AccessService {
return true;
}
GovTokenDto userDetails = getUserDetails(app, client, userId);
LoginUserDetailsResultDTO userDetails = getLoginUserDetails(app, client, userId);
if (userDetails == null) {
return false;
}
@ -157,7 +158,7 @@ public class AccessServiceImpl implements AccessService {
@Override
public String getSqlFilterSegment(GetSQLFilterFormDTO form) {
hasConditions.set(false);
GovTokenDto userDetails = getUserDetails(form.getApp(), form.getClient(), form.getUserId());
LoginUserDetailsResultDTO userDetails = getLoginUserDetails(form.getApp(), form.getClient(), form.getUserId());
if (userDetails == null) {
logger.error("查询SQL过滤脚本:没有找到用户的登陆信息:app: {}, client: {}, userId:{}", form.getApp(), form.getClient(), form.getUserId());
throw new RenException(EpmetErrorCode.ERR10006.getCode());
@ -453,7 +454,7 @@ public class AccessServiceImpl implements AccessService {
@Override
public Set<String> listOperationPermissions(String staffId, String currAgencyId) {
GovTokenDto userDetails = getUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId());
LoginUserDetailsResultDTO userDetails = getLoginUserDetails(loginUserUtil.getLoginUserApp(), loginUserUtil.getLoginUserClient(), loginUserUtil.getLoginUserId());
if (userDetails == null) {
throw new RenException(EpmetErrorCode.ERR10006.getCode(), EpmetErrorCode.ERR10006.getMsg());
}

Loading…
Cancel
Save