使用JpsContextFactory的外部LDAP连接

时间:2017-10-28 19:47:16

标签: java oracle ldap weblogic oracle-adf

我正在尝试连接到Oracle ADF中的外部weblogic嵌入式LDAP。 我刚刚找到了一个使用JpsContextFactory类的好示例代码,它没有获取任何url,用户名和密码。似乎它通过defult连接到本地weblogic ldap。我无法弄清楚如何使用这个类设置与外部weblogic ldap的连接。

示例代码:

private void initIdStoreFactory() {
    JpsContextFactory ctxFactory;
    try {
        ctxFactory = JpsContextFactory.getContextFactory();
        JpsContext ctx = ctxFactory.getContext();
        LdapIdentityStore idStoreService = (LdapIdentityStore) ctx.getServiceInstance(IdentityStoreService.class);

        ldapFactory = idStoreService.getIdmFactory();

        storeEnv.put(OIDIdentityStoreFactory.RT_USER_SEARCH_BASES, USER_BASES);
        storeEnv.put(OIDIdentityStoreFactory.RT_GROUP_SEARCH_BASES, GROUP_BASES);
        storeEnv.put(OIDIdentityStoreFactory.RT_USER_CREATE_BASES, USER_BASES);
        storeEnv.put(OIDIdentityStoreFactory.RT_GROUP_CREATE_BASES, GROUP_BASES);
        storeEnv.put(OIDIdentityStoreFactory.RT_GROUP_SELECTED_CREATE_BASE, GROUP_BASES[0]);
        storeEnv.put(OIDIdentityStoreFactory.RT_USER_SELECTED_CREATE_BASE, USER_BASES[0]);
    } catch (JpsException e) {
        e.printStackTrace();
        throw new RuntimeException("Jps Exception encountered", e);
    }
}

任何建议如何使用此代码连接到外部ldap将不胜感激。

1 个答案:

答案 0 :(得分:0)

JpsContextFactory用于检索weblogic中的标识存储的当前信息。要将它与外部LDAP一起使用,首先需要在Weblogic中添加一个新的安全提供程序,并根据需要声明它,以便您的应用程序使用新的外部ldap。

查看这篇旧文章(http://www.itbuzzpress.com/weblogic-tutorials/securing-oracle-weblogic/configuring-oracle-weblogic-security-providers.html