JBOSS-LOCAL-USER:javax.security.sasl.SaslException:无法读取服务器质询

lik*_*amp 5 java authentication jboss ejb wildfly-10

当我想从不同的服务器访问远程 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
Run Code Online (Sandbox Code Playgroud)

如果我在服务器内访问 EJB,我不会收到任何身份验证错误。我使用以下方式访问服务器;

http-remoting://server1:8080
Run Code Online (Sandbox Code Playgroud)

基本上如果我在server1中调用这个,就没有问题。如果我从 server2 调用它,我会收到错误。我假设它在 server2 中查找 server1 中存在的 auth 文件。

我不确定是否必须在 EJB 或 Wildfly 上进行一些配置才能启用来自不同服务器的访问。我确实完成了网上提供的所有步骤,但显然我遗漏了一些东西。

lik*_*amp 2

我通过以下更改修复了错误。

看来我ApplicationRealm也用于远程身份验证。我用我的 jaas 领域更新了下面的行。

<http-connector name="http-remoting-connector" connector-ref="default" security-realm="ApplicationRealm"/>
Run Code Online (Sandbox Code Playgroud)

另外,我在客户端设置了SASL_POLICY_NOANONYMOUS和。SASL_POLICY_NOPLAINTEXTfalse