在使用Java读取存储在WildFly中的凭据存储中的密码时,可以通过以下步骤实现:
javax.naming.InitialContext
类来创建JNDI上下文对象,并设置相应的属性,如WildFly服务器的主机名、端口号、凭据存储的JNDI名称等。lookup()
方法来查找凭据存储的JNDI名称,并获取凭据存储的引用。org.wildfly.security.credential.store.CredentialStore
类来读取密码。以下是一个示例代码片段,演示如何使用Java读取存储在WildFly中的凭据存储中的密码:
import javax.naming.Context;
import javax.naming.InitialContext;
import org.wildfly.security.credential.store.CredentialStore;
import org.wildfly.security.credential.store.CredentialStoreException;
import org.wildfly.security.credential.store.CredentialStoreSpi;
public class ReadCredentialsFromWildFly {
public static void main(String[] args) {
try {
// 创建JNDI上下文
Context context = new InitialContext();
// 查找凭据存储的JNDI名称
CredentialStore credentialStore = (CredentialStore) context.lookup("java:jboss/credential-store/CredentialStore");
// 读取存储在凭据存储中的密码
char[] password = credentialStore.retrieve("alias");
// 使用密码进行后续操作
// ...
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上述示例代码中,需要将"java:jboss/credential-store/CredentialStore"
替换为实际的凭据存储的JNDI名称。另外,根据具体的需求,可能需要进一步处理异常、进行密码解密等操作。
领取专属 10元无门槛券
手把手带您无忧上云