当前位置: 首页 > 知识库问答 >
问题:

Spring Boot Actuator在envendpoint中隐藏属性值

壤驷安和
2023-03-14

我的问题是,我的env的Spring Boot执行器endpoint实际上用如下开头替换了一些属性:

"applicationConfig: [classpath:/config/application.properties]" : {
    "rest.baseurl" : "http://85.214.247.80:9912",
    "projectKey" : "******",

我不知道为什么。我的申请表中没有任何暗示他应该把它藏起来。我想有一些启发式方法可以根据属性名隐藏它。

有什么办法可以避免掩蔽吗?

共有3个答案

长孙鸿振
2023-03-14

现在要设置的属性是management.endpoint.env.keys清理。要显示所有属性,只需将其设置为无,例如management.endpoint.env.keys清理=

楮阳
2023-03-14

你可以像“安迪·威尔金森”提到的那样做。但是您将在endpoint的应用程序配置部分中看到用于清理带有值的属性的endpoint环境密钥。

为了避免这种情况,您也可以使用代码设置属性:

public class MyApp {
    @Autowired
    private EnvironmentEndpoint envEndPnt;

    @PostConstruct
    public void initApplication() {
         envEndPnt.setKeysToSanitize("password","secret");
    } 
}

因此,一旦完成了所有初始化,并调用了initApplication,您将拥有手动设置属性的EnvironmentEndPoint。

公羊光明
2023-03-14

默认情况下,/envendpoint将隐藏具有密钥的任何属性的值,忽略大小写,该密钥以密码、机密或密钥结尾。您可以使用endpoint对其进行自定义。环境。清理属性的键。此属性的值应该是一个逗号分隔的后缀或正则表达式列表,以与属性名称匹配。例如,如果您不关心以键结尾的键,可以将其设置为:

endpoints.env.keys-to-sanitize=password,secret

文件中是这么说的:

endpoints.env.keys=密码,秘密,密钥,令牌,.凭据,vcap_services

应该消毒的钥匙。键可以是属性以或正则表达式结尾的简单字符串。

 类似资料:
  • 问题内容: 使用Angular Material时,我一直看到aria属性。有人可以向我解释,aria前缀是什么意思?但最重要的是,我想了解的是和属性之间的区别。 问题答案: ARIA(可访问的富Internet应用程序)定义了一种使残障人士更容易访问Web内容和Web应用程序的方法。 该属性是HTML5中的新增属性,它告诉 浏览器 不要显示该元素。该属性告诉 屏幕阅读器 是否应该忽略该元素。请查

  • Spring Boot使用属性文件,至少在默认情况下,密码是纯文本的。有可能以某种方式隐藏/解密这些吗?

  • 我正在使用DTO对象从spring rest控制器中的@RequestBody中检索信息,并在json响应中使用相同的DTO对象。我想完全隐藏一些字段不让响应。 我尝试了,它为未映射的属性返回null,但我的问题是: null FieldBonlyOrderToOrderToMapper 将返回一个OrderDto对象,该对象没有名为(otherFiledA)的字段

  • 而在帖子上,我应该看到的只是: 尝试添加:@apimodelproperty(readonly=true)。但那没用。

  • 问题内容: Spring Boot使用属性文件,并且至少在默认情况下,密码为纯文本。是否可以以某种方式隐藏/解密这些内容? 问题答案: 你可以使用Jasypt加密属性,因此可以使属性如下所示: Jasypt允许你使用不同的算法对属性进行加密,一旦获得加密的属性,就可以将其放入。例如,你可以使用终端通过Jasypt以这种方式进行加密: 要使用Spring Boot轻松配置它,可以将其启动器jasyp

  • 我有一个类用户 我的控制器 它大摇大摆地显示