权限校验aop实现
/** * aop增强,用于处理每个操作前操作角色身份的确认 */ @Slf4j @Component @Aspect public class RoleCheckAspect { /** * 定义切入点,切入点为com.example.demo.aop.AopController中的所有函数 *通过@Pointcut注解声明频繁使用的切点表达式 */ @Pointcut("execution(public * cn.com.xytkj.shop.admin.controller.console.ConsoleController.*(String)) && args(token) && @within(roleCheck))") public void RoleCheckAspect(String token,RoleCheck roleCheck){} /** * @description 使用环绕通知 */ @Around(value = "RoleCheckAspect(point,roleCheck)") public void doAroundGameData(ProceedingJoinPoint pjp, String point,RoleCheck roleCheck){ String[] roles = roleCheck.value(); for (String role:roles){ log.info("角色 {}",role); } try{ pjp.proceed(); System.out.println("球星本场得到" + point + "分" ); } catch(Throwable e){ System.out.println("异常通知:球迷要求退票!"); } } }