/actuator
下(或者其他路径,如果设置了 management.endpoints.web.base-path 属性),很容易将授权规则应用于 Actuator 端点。例如,要求用户具有要 ROLE_ADMIN 权限,以调用 Actuator 端点,您可以重写 WebSecurityConfigurerAdapter 的 configure()
方法,如下所示:/actuator/**
了。如果修改了 management.endpoints.web.base-path 属性,它将不再工作。为解决这个问题,Spring Boot 还提供了 EndpointRequest,这是一个请求匹配器类。它更容易使用,而且不依赖于给定的字符串路径。使用 EndpointRequest,您可以对 Actuator 端点应用相同的安全配置,而无需硬编码 /actuator/**
路径:EndpointRequest.toAnyEndpoint()
方法返回一个请求匹配器,该匹配器匹配任何 Actuator 端点。如果要从中排除某些端点,可以调用 excluding()
,并按名称指定它们:to()
方法,而不是 toAnyEndpoint()
方法:/bean
、/threaddump
和 /loggers
端点。所有其他 Actuator 端点完全开放。