wangxianzhang 3 years ago
parent
commit
5487329beb
  1. 2
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictTypeController.java
  2. 33
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/OperRequiredPermission.java
  3. 56
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/OperRequiredPermissionAspect.java
  4. 1
      epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java

2
epmet-admin/epmet-admin-server/src/main/java/com/epmet/controller/SysDictTypeController.java

@ -8,7 +8,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.OperRequiredPermission;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.Result;
import com.epmet.commons.tools.validator.AssertUtils;
@ -60,7 +59,6 @@ public class SysDictTypeController {
return new Result();
}
@OperRequiredPermission
@PutMapping
public Result update(@RequestBody SysDictTypeDTO dto){
//效验数据

33
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/annotation/OperRequiredPermission.java

@ -1,33 +0,0 @@
/**
* Copyright 2018 人人开源 http://www.renren.io
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package com.epmet.commons.tools.annotation;
import com.epmet.commons.tools.enums.RequirePermissionEnum;
import java.lang.annotation.*;
/**
* 运营端-权限注解
* @Author wxz
* @Description
* @Date 2022/09/27 16:17
**/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface OperRequiredPermission {
}

56
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/OperRequiredPermissionAspect.java

@ -1,56 +0,0 @@
package com.epmet.commons.tools.aspect;
import com.epmet.commons.tools.dto.form.HasOperPermissionFormDTO;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.CommonOperAccessOpenFeignClient;
import com.epmet.commons.tools.utils.Result;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
@Aspect
@Component
@Order(30)
public class OperRequiredPermissionAspect {
@Autowired
private CommonOperAccessOpenFeignClient operAccessOpenFeignClient;
@Before("@annotation(com.epmet.commons.tools.annotation.OperRequiredPermission)")
public void proceed(JoinPoint pjp) throws Throwable {
// MethodSignature signature = (MethodSignature) pjp.getSignature();
HttpServletRequest request = getRequest();
String url = request.getRequestURI().toString();
String method = request.getMethod();
HasOperPermissionFormDTO form = new HasOperPermissionFormDTO();
form.setUri(url);
form.setMethod(method);
Result result = operAccessOpenFeignClient.hasOperPermission(form);
if (result == null || !result.success()) {
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "资源未授权", "资源未授权");
}
}
/**
* 获取Request对象
*
* @return
*/
private HttpServletRequest getRequest() {
RequestAttributes ra = RequestContextHolder.getRequestAttributes();
ServletRequestAttributes sra = (ServletRequestAttributes) ra;
return sra.getRequest();
}
}

1
epmet-module/oper-access/oper-access-server/src/main/java/com/epmet/controller/OperMenuController.java

@ -1,7 +1,6 @@
package com.epmet.controller;
import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.annotation.OperRequiredPermission;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.exception.ErrorCode;
import com.epmet.commons.tools.page.PageData;

Loading…
Cancel
Save