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审计)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

侯耀文去世17年,昔日小20岁娇妻,被侄儿撬走多年后过得怎样(侯耀文是谁?)

多年后回顾侯耀文的人生,最令人唏嘘的,不仅是他在相声界取得的辉煌成就,更多的是他身后那一团纠缠不清的人际纷争和复杂的关系。正是在这段时间,他遇到了袁茵,大家最先注意到的,便是他们相差整整20岁的年龄差。在这整…

侯耀文去世17年,昔日小20岁娇妻,被侄儿撬走多年后过得怎样(侯耀文是谁?)

贝莱信息取得光纤耦合夹头专利,光纤固定牢固可靠(贝莱德成立)

国家知识产权局信息显示,厦门贝莱信息科技有限公司取得一项名为“一种光纤耦合夹头”的专利,授权公告号CN223742787U,申请日期为2025年2月。企业注册资本1070万人民币。 声明:市场有风险,投资需谨…

贝莱信息取得光纤耦合夹头专利,光纤固定牢固可靠(贝莱德成立)

ESG投资热潮中,财务管理者该如何应对新挑战(esg投资方向)

(按照要求输出)ESG投资爆火!财务管理者如何逆袭破局?ESG投资, 财务管理者, 可持续发展, 企业转型, 绿色金融当“双碳”目标遇上资本市场的绿色浪潮,ESG投资已从“加分项”变为“必答题”。财务管理者面临前所未有的压力:财

ESG投资热潮中,财务管理者该如何应对新挑战(esg投资方向)

耳机 “盲买” 必看!5 款耳夹式实测,按场景选不踩雷超省心

敲三下左耳,直接唤醒“漫宝小秘书”——开会时外国客户说英语,实时翻译成中文(再也不用手忙脚乱翻手机APP);逛街看到好看的衣服想搜同款,直接问“这件外套🧥是什么牌子”;突然想到个创意,说“记一下:明天写‘耳机测…

耳机 “盲买” 必看!5 款耳夹式实测,按场景选不踩雷超省心

超大功率『半导体』TEC1-13936能否胜任2026高效制冷场景?(大功率『半导体』上市龙头)

在智能化设备升级浪潮下,TEC1-13936凭借其80x120mm大尺寸和339W功率脱颖而出。本文深入分析超大功率『半导体』制冷片的选型要点、应用场景及注意事项,帮助用户科学决策。从制冷效果、能效比到预算规划,为您揭示最优选择。

超大功率『半导体』TEC1-13936能否胜任2026高效制冷场景?(大功率『半导体』上市龙头)