当我想从另一台服务器访问远程wildfly服务器上的EJB时,我收到以下错误。
Error: Authentication failed: all available authentication mechanisms failed:
JBOSS-LOCAL-USER: javax.security.sasl.SaslException: Failed to read server challenge [Caused by java.io.FileNotFoundException: /../wildfly/standalone-/tmp/auth/X.challenge (No such file or directory)]
DIGEST-MD5: Server rejected authentication
如果我在服务器内访问EJB,我不会收到任何身份验证错误。我使用以下来访问服务器;
http-remoting://server1:8080
基本上如果我在server1中调用它,就没有问题。如果我从server2调用它,我得到错误。我假设它在server1中查找auth文件,该文件存在于server1中。
我不确定是否必须在EJB或wildfly上进行一些配置以启用来自不同服务器的访问。我确实经历了在线提供的每一个步骤,但很明显我错过了一些东西。
答案 0 :(得分:2)
我用以下更改修正了错误。
看起来我也在使用ApplicationRealm
进行远程身份验证。我用jaas境界更新了以下内容。
<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
另外,我在客户端将SASL_POLICY_NOANONYMOUS
和SASL_POLICY_NOPLAINTEXT
设置为false
。
答案 1 :(得分:1)
我的理解如下。 对于本地访问,不需要身份验证。 对于远程访问,需要进行身份验证,因此我建议首先仔细检查用户帐户和密码。