将 java.security.auth.login.config 传递给 Mobilefirst 平台服务器

Passing java.security.auth.login.config to Mobilefirst Patform Server

我们如何将以下参数传递给 Mobilefirst Development Server?

-Djava.security.auth.login.config=login.config

我试过将它添加到 jvm.options 文件中,但它似乎作为参数传递但没有效果。

以下是我要执行的代码,以及 login.config 文件的示例。

Java 在登录模块或适配器中执行的代码。

LoginContext context = new LoginContext("SampleClient", new CallbackHandler() {

    @Override
    public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
        NameCallback callBack = (NameCallback) callbacks[0];
        callBack.setName("EXAMPLE.COM");
    }
});

login.config

SampleClient {
    com.sun.security.auth.module.Krb5LoginModule required
    default_realm=EXAMPLE.COM;
};

在登录之前添加以下代码。

try {
    Configuration config = Configuration.getConfiguration();
    config.getAppConfigurationEntry("SampleClient");
    URIParameter uriParameter = new URIParameter(new java.net.URI("file:///path_to_your_file/login.conf"));
    Configuration instance = Configuration.getInstance("JavaLoginConfig", uriParameter);
    Configuration.setConfiguration(instance);
} catch (URISyntaxException e) {
    e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
    e.printStackTrace();
}