You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Security集成Prometheus配置后仍遇401未授权问题求助

解决Actuator端点401未授权问题

以下是几个排查和修复方向:

1. 修正端点路径匹配规则

你的Spring Security配置里用了/api/actuator/**,但从YAML配置看,没有设置Actuator的基础路径为/api/actuator,默认的Actuator路径是/actuator。所以需要把请求匹配规则改成:

authorizeHttpRequests {
    it.requestMatchers("/actuator/**").permitAll()
    // 补充剩余请求的授权规则,比如:
    it.anyRequest().authenticated()
}

如果确实需要将Actuator路径改为/api/actuator,需在YAML配置中添加:

management:
  endpoints:
    web:
      base-path: /api/actuator

2. 确保Spring Security配置完整

你提供的Kotlin代码片段不完整,authorizeHttpRequests块必须包含对所有剩余请求的处理规则(比如it.anyRequest().authenticated()),否则Spring Security会默认拦截所有未明确放行的请求,包括Actuator端点。

3. 检查多SecurityFilterChain的优先级

如果项目中定义了多个SecurityFilterChain Bean,需确保针对Actuator的配置优先级更高。可以通过@Order(Ordered.HIGHEST_PRECEDENCE)注解标记对应的Security配置类,让它优先执行。

4. 放弃依赖management.security.enabled属性

虽然你配置了management.security.enabled=false,但自定义Spring Security配置会覆盖这个属性的效果。更可靠的方式是通过Spring Security的授权规则明确放行Actuator端点,而非依赖该属性。


内容的提问来源于stack exchange,提问作者work work

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 19:55:55