我有一个OSGi组件,使用注释声明,允许通过Felix的配置UI配置登录凭据属性。我已经看到其他组件模糊了密码的属性文本字段,但我的仍然是明确的。我假设@Property注释中只包含一个标记,但我无法在documentation中找到任何标记。
有人知道如何在配置界面中创建密码字段吗?
答案 0 :(得分:1)
OSGi元类型服务规范支持PASSWORD属性类型,UI应使用该类型来隐藏文本字段。
此外,在声明服务中,以完全停止(例如.password
)开头的属性名称将不会作为服务的任何组件发布为服务属性。该属性在组件属性中可用。
答案 1 :(得分:1)
可以使用注释属性:
private static final String DEFAULT_USERNAME = StringUtils.EMPTY;
private String username = DEFAULT_USERNAME;
@Property(label="username", description="user name", value=DEFAULT_USERNAME )
public static final String USERNAME = "xxx.username";
private static final String DEFAULT_PASSWORD = StringUtils.EMPTY;
private String password = DEFAULT_PASSWORD;
@Property(label="password", description="user password", passwordValue=DEFAULT_PASSWORD )
public static final String PASSWORD = "xxx.password";
请注意,USERNAME
常量正在使用value
参数进行注释,其中PASSWORD
使用passwordValue
参数进行注释。使用passwordValue
会触发OSGi控制台中的字段被隐藏。