【问题标题】:Wildfly 8.2 application client authentication "all available authentication mechanisms failed"Wildfly 8.2 应用程序客户端身份验证“所有可用的身份验证机制均失败”
【发布时间】:2015-02-17 18:25:55
【问题描述】:

我有一个应用程序客户端正在尝试使用远程 JNDI(http-remoting)协议连接到 WildFly 8.2 服务器。下面是我的 InitialContext 配置:

Properties props = new Properties();
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jboss.naming.remote.client.InitialContextFactory");
props.put(Context.PROVIDER_URL, "http-remoting://localhost:8080");
props.put(Context.SECURITY_PRINCIPAL, userName);
props.put(Context.SECURITY_CREDENTIALS, password);
props.put("jboss.naming.client.ejb.context", true);
context = new InitialContext(props);

WildFly 服务器配置为使用标准 ApplicationRealm。当我尝试进行身份验证时,我在客户端控制台中得到以下信息:

ERROR: JBREM000200: Remote connection failed: javax.security.sasl.SaslException: Authentication failed: all available authentication mechanisms failed:

调试客户端连接代码后,我认为服务器发送 PLAIN 作为可接受的 SASL 机制,但我无法让客户端使用 PLAIN。

【问题讨论】:

    标签: java wildfly


    【解决方案1】:

    我认为将这些属性添加到您的道具应该可以解决问题:

        props.put("jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS", "false");
    props.put("jboss.naming.client.connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT", "false");
    props.put("jboss.naming.client.ejb.context", "true");
    

    【讨论】:

      猜你喜欢
      • 2015-06-13
      • 2019-06-27
      • 1970-01-01
      • 2019-01-08
      • 2016-02-22
      • 2015-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多