[英]Wildfly 8.2 application client authentication “all available authentication mechanisms failed”
我有一个尝试使用远程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。
我认为将这些属性添加到道具中可以解决此问题:
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");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.