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

夸克原生ldap调用

丁经国
2023-03-14

在我们的夸克应用程序中,我们使用LDAP服务器来检索用户数据。简而言之,代码如下所示:

Properties env = new Properties();
env.put("com.sun.jndi.ldap.read.timeout", "5000");
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory");
env.put(Context.SECURITY_AUTHENTICATION, "simple");
env.put(Context.SECURITY_PRINCIPAL, "cn=" + ldapUser + "," + ldapOrganization);
env.put(Context.SECURITY_CREDENTIALS, ldapPw);
env.put(Context.PROVIDER_URL, ldapServer);
new InitialLdapContext(env, null);

使用jre版本,一切都运行良好,但使用Quarkus原生,我得到ClassNotFoundExceptions。构建和启动是成功的,但调用应用程序不起作用。

现在例外是java。lang.ClassNotFoundException:javax。网ssl。SSLSocketFactory。我想知道quarkus elytron安全ldap扩展如何与ldap服务器对话而不出现该错误。

我正在使用quarkus 1.13.7。最后,在ubuntu 20.04上,mvn 3.6.3和azul jdk 11.0.10。

到目前为止我发现的是:

  • 我确实包含了一个信任库,如https://quarkus.io/guides/native-and-ssl#the-truststore-path中所述,其他https对rest服务器的调用也可以使用它。
  • Quarkus LDAP获取用户数据的解决方案可以在我的机器上运行,但它也需要在win机器上为开发人员工作。
  • https://github.com/oracle/graal/issues/2808听起来像SSLSocketFactory现在是,将来也不会是GraalVM的一部分,但是夸克-elytron-security-ldap扩展如何与ldap服务器通信?

共有1个答案

史默
2023-03-14

今天遇到了同样的问题。似乎JNDI默认不活动。

使用此设置

quarkus.naming.enable-jndi=true

在Quarkus应用程序中启用JNDI。

 类似资料:
  • 我试着运行两个心轴: 和GraalVM版本: 但他们只是被困在建筑中,我有M1的最新Docker,这是一个来自心轴的样本,它只是停留在那里使用300%的cpu:

  • 我想使用利用的新错误处理,但我还想使用使用注释。 问题是,附带了的包,这与冲突,因为它们都有JAXRSecurityConfig。denyJaxRs,导致以下错误: 有人能够使用这两个库吗?

  • 尝试使用liquibase-mongodb扩展与夸克。没有任何成功。有谁能给我一个可行的例子吗? 所以quarkus知道liquibase,但mongodb变更集不执行。

  • 遵循本指南:https://quarkus.io/guides/building-native-image 为此,Quarkus通过利用容器运行时(如Docker或podman)提供了创建本地Linux可执行文件的非常方便的方法。完成此任务的最简单方法是执行:./mvnw package-Pnative-Dquarkus.native.container build=true 我收到此错误:[er

  • 我想用一个用Kotlin编写并使用Vert的现有项目测试Quarkus和Docker的本机映像。x个竖线。 你能给我举一个关于如何使用Quarkus部署Verticle的例子吗? 我的依赖项是和。 我在Vert. x扩展测试中找到了一些例子,但是我找不到如何在服务器启动时部署我的Verticle。

  • 相关zulip聊天 我正在试图弄清楚,在quarkus中启动应用程序时,您应该如何优雅地失败。 我尝试将其添加到应用程序启动代码中。如果我运行一个单元测试,现在就不会调用它。仅当我直接启动应用程序时才会调用它。我希望返回一个非零值,以防抛出异常。这可能是推荐的方法。我不确定 我不确定这是一个功能请求还是一个bug,或者我遗漏了什么,这是正常的行为。 编辑1:我想说清楚: 当我使用“/gradlew