Spring AOP 审计日志切面(springboot审计)

java

复制

下载

@Aspect

@Component

@Slf4j

public class AuditLogAspect {

@Pointcut("@annotation(org.springframework.web.bind.annotation.PostMapping) || " +

"@annotation(org.springfra JiAOYu.HUoCheNGrM.CN/jy/19722.html mework.web.bind.annotation.PutMapping) || " +

"@annotation(org.springframework.web.bind.annotation.DeleteMapping)")

public void writeOperations() {}

@Around("writeOperations()")

public Object auditOperation(ProceedingJoinPoint pjp) throws Throwable {

MethodSignature signature = (JiAOYu.HUoCheNGrM.CN/jy/19721.html) pjp.getSignature();

String operation = signature.getMethod().getName();

Object[] args = pjp.getArgs();

// 获取当前用户

String username = SecurityContextHolder.getContext(JiAOYu.HUoCheNGrM.CN/jy/19720.html).getAuthentication().getName();

try {

Object result = pjp.proceed();

log.info("操作成功: 用户={}, 操作={}, 参数={}", username, operation, args);

return result;

} catch (Exception ex) {

log.error("操作失败: 用户={}, 操作={}, 错误={}", username, operation, JiAOYu.HUoCheNGrM.CN/jy/19719.html ex.getMessage());

throw ex;

}

}

}

6. Spring Cloud Gateway 路由配置

java

复制

下载

@Configuration

public class GatewayConfig {

@Bean

public RouteLocator customRouteLocator(RouteLocatorBuilder builder) {

return JiAOYu.HUoCheNGrM.CN/jy/19718.html builder.routes()

.route("user-service", r -> r.path("/api/users/**")

.filters(f -> f

.addRequestHeader("X-Forwarded-For", "SpringCloudGateway")

.circuitBreaker(c -> c.setName("userCB").setFallbackUri("forward:/fallback"))

.uri("lb://USER-SERVICE"))

.route("product-service", r -> r.path("/api/products/**")

.filters(f -> f

.rewritePath JiAOYu.HUoCheNGrM.CN/jy/19717.html("/api/products/(?<segment>.*)", "/${segment}")

.retry(retry -> retry.setRetries(3)))

.uri("lb://PRODUCT-SERVICE"))

.route("auth-service", r -> r.path("/auth/**")

.filters(f -> f

.removeRequestHeader("Cookie"))

.uri("lb://AUTH-SERVICE"))

.build();

}

}

特别声明:[Spring AOP 审计日志切面(springboot审计)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

闽侯南屿闲置边角空地变活力打卡点,新增3条智慧健身路径(闽侯南屿2021规划)

南屿镇的智慧健身路径正是为了满足这一需求而设立的,它将健康生活融入居民的日常,提高了居民的获得感与幸福感。希望每个人都能在智慧健身路径上找到属于自己的快乐,迈向更健康的未来! 你认为智慧健身路径对提升居民健康…

闽侯南屿闲置边角空地变活力打卡点,新增3条智慧健身路径(闽侯南屿2021规划)

TS520模具钢以其优异的耐腐蚀性和高抛光性能著称(t18模具专用钢)

实验数据显示,在相对湿度80%的环境中,未防护的TS520试样72小时后出现0.03mm100mm的尺寸波动。某精密模具厂曾记录案例:厚度差异超过50mm的TS520模块在露天仓库存放五天后,分型面出现0.…

TS520模具钢以其优异的耐腐蚀性和高抛光性能著称(t18模具专用钢)

选择实木老年餐桌椅,养老院里的适老化设计究竟有何讲究?(实木的老人)

在养老院、老年公寓这样的场所,实木老年餐桌椅的适老化设计至关重要。 本文将为你详细解析适老化桌椅的关键要素,包括尺寸、承重、舒适性等指标,并提供选购建议。 无论是预算有限还是追求高品质,都能从中找到最优方案。

选择实木老年餐桌椅,养老院里的适老化设计究竟有何讲究?(实木的老人)

邵逸夫107岁仙逝时,4个儿女竟无人愿继承他的遗产,这是为何?(邵逸夫怎么活到107岁的)

为了追求这一梦想,他毫不犹豫地将自己的财富与智慧倾注其中,投入电影事业。在邵逸夫的晚年,他意识到自己曾经忽略了家庭的温暖,他开始尽力弥补这一遗憾,向子女提供帮助,尽量表达自己的关心和爱意。 邵逸夫的一生…

邵逸夫107岁仙逝时,4个儿女竟无人愿继承他的遗产,这是为何?(邵逸夫怎么活到107岁的)

如何看待全球资本“抛售美国” 短期波动还是长期趋势?(全球资本市场发展趋势如何)

近期地缘政治局势波动引发市场对美国资产安全性的关注,甚至出现“抛售美国”的讨论

如何看待全球资本“抛售美国” 短期波动还是长期趋势?(全球资本市场发展趋势如何)