Compare commits

...

2 Commits

28 changed files with 51 additions and 41 deletions

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-api</artifactId> <artifactId>bonus-api</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
@ -87,7 +87,7 @@
<dependency> <dependency>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common-config</artifactId> <artifactId>bonus-common-config</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
<scope>compile</scope> <scope>compile</scope>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -1,17 +1,15 @@
package com.bonus.common.security.annotation; package com.bonus.common.security.annotation;
import java.lang.annotation.ElementType; import java.lang.annotation.*;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/** /**
* @author wangvivi * @author wangvivi
*/ */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME) @Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
@Documented
public @interface RequiresPermissionsOrInnerAuth { public @interface RequiresPermissionsOrInnerAuth {
InnerAuth innerAuth() default @InnerAuth(); InnerAuth innerAuth() default @InnerAuth(isUser = false);
RequiresPermissions requiresPermissions() default @RequiresPermissions(); RequiresPermissions requiresPermissions() default @RequiresPermissions(value = {});
} }

View File

@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature; import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.core.Ordered; import org.springframework.core.Ordered;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
@ -24,13 +25,14 @@ import java.lang.reflect.Method;
*/ */
@Aspect @Aspect
@Component @Component
@Slf4j public class PermissionOrInnerAuthAspect
public class PermisssionOrInnerAuthAspect
{ {
@Around("@annotation(RequiresPermissionsOrInnerAuth)") @Pointcut("@annotation(com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth)")
public Object innerAround(ProceedingJoinPoint point, RequiresPermissionsOrInnerAuth permissionsOrInnerAuth) throws Throwable public void permissionOrInnerAuthAspect() {}
@Around("permissionOrInnerAuthAspect()")
public Object innerAround(ProceedingJoinPoint point) throws Throwable
{ {
log.info("******************RequiresPermissionsOrInnerAuth**********");
MethodSignature signature = (MethodSignature) point.getSignature(); MethodSignature signature = (MethodSignature) point.getSignature();
RequiresPermissionsOrInnerAuth auth = signature.getMethod().getAnnotation(RequiresPermissionsOrInnerAuth.class); RequiresPermissionsOrInnerAuth auth = signature.getMethod().getAnnotation(RequiresPermissionsOrInnerAuth.class);
@ -56,7 +58,7 @@ public class PermisssionOrInnerAuthAspect
try { try {
AuthUtil.checkInnerAuth(innerAuth); AuthUtil.checkInnerAuth(innerAuth);
} catch (InnerAuthException e){ } catch (InnerAuthException e){
log.error("内部认证失败:{}",e.getMessage()); // log.error("内部认证失败:{}",e.getMessage());
return false; return false;
} }
return true; return true;
@ -66,4 +68,13 @@ public class PermisssionOrInnerAuthAspect
AuthUtil.checkPermi(requiresPermissions,point); AuthUtil.checkPermi(requiresPermissions,point);
return true; return true;
} }
// /**
// * 确保在权限认证aop执行前执行
// */
// @Override
// public int getOrder()
// {
// return Ordered.HIGHEST_PRECEDENCE + 2;
// }
} }

View File

@ -4,6 +4,8 @@ com.bonus.common.security.config.VerificationCodeConfig
com.bonus.common.security.service.TokenService com.bonus.common.security.service.TokenService
com.bonus.common.security.service.SmsService com.bonus.common.security.service.SmsService
com.bonus.common.security.service.EmailService com.bonus.common.security.service.EmailService
com.bonus.common.security.aspect.PermissionOrInnerAuthAspect
com.bonus.common.security.aspect.PreAuthorizeAspect com.bonus.common.security.aspect.PreAuthorizeAspect
com.bonus.common.security.aspect.InnerAuthAspect com.bonus.common.security.aspect.InnerAuthAspect
com.bonus.common.security.aspect.PreventRepeatSubmitAspect
com.bonus.common.security.handler.GlobalExceptionHandler com.bonus.common.security.handler.GlobalExceptionHandler

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-common</artifactId> <artifactId>bonus-common</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId> <artifactId>bonus-modules</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId> <artifactId>bonus-modules</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId> <artifactId>bonus-modules</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId> <artifactId>bonus-modules</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -5,7 +5,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-modules</artifactId> <artifactId>bonus-modules</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -24,7 +24,6 @@ import com.bonus.system.service.*;
import com.bonus.system.warning.WebSocketHandler; import com.bonus.system.warning.WebSocketHandler;
import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -77,7 +76,7 @@ public class SysUserController extends BaseController {
/** /**
* 获取用户列表 * 获取用户列表
*/ */
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("system:user:list")) @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("system:user:list"))
@GetMapping("/list") @GetMapping("/list")
@PreventRepeatSubmit @PreventRepeatSubmit
@SysLog(title = "用户管理", businessType = OperaType.QUERY, logType = 0, module = "系统管理->用户管理", details = "查询用户列表") @SysLog(title = "用户管理", businessType = OperaType.QUERY, logType = 0, module = "系统管理->用户管理", details = "查询用户列表")

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus-visual</artifactId> <artifactId>bonus-visual</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -4,7 +4,7 @@
<parent> <parent>
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>

View File

@ -6,14 +6,14 @@
<groupId>com.bonus</groupId> <groupId>com.bonus</groupId>
<artifactId>bonus</artifactId> <artifactId>bonus</artifactId>
<version>24.11.0-SNAPSHOT</version> <version>24.12.0-SNAPSHOT</version>
<name>bonus</name> <name>bonus</name>
<url>http://www.ahbonus.cn</url> <url>http://www.ahbonus.cn</url>
<description>博诺思微服务系统</description> <description>博诺思微服务系统</description>
<properties> <properties>
<bonus.version>24.11.0-SNAPSHOT</bonus.version> <bonus.version>24.12.0-SNAPSHOT</bonus.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version> <java.version>1.8</java.version>