代码之家  ›  专栏  ›  技术社区  ›  Stuart Milton

JBOSS-AS-MAVEN-PLUGIN:-身份验证失败,但JBOSS-cli身份验证?

  •  3
  • Stuart Milton  · 技术社区  · 12 年前

    我已经安装了一个新的JBoss服务器,并且可以使用“JBoss-cli.bat”远程访问它。

    然而,当我的Hudson作业运行,并试图使用jboss作为maven插件将war部署到服务器时,它被拒绝访问,并出现以下错误;

    错误:JBREM000200:远程连接失败: javax.security.sasl.SaslException:身份验证失败:全部 可用的身份验证机制失败

    我在跑步;

    • Windows Server 2008 R2
    • JBoss AS 7.1.1.最终
    • 哈德逊3.0.0
    • 雄猫7.0.35
    • JBoss AS Maven插件7.4.Final

    我的POM包含:;

    <plugin>
      <groupId>org.jboss.as.plugins</groupId>
      <artifactId>jboss-as-maven-plugin</artifactId>
      <version>7.4.Final</version>
      <executions>
        <execution>
          <id>Dev_Deploy</id>
          <phase>install</phase>
          <goals>
            <goal>deploy</goal>
          </goals>
          <configuration>
            <force>true</force>
            <hostname>??.??.??.??</hostname>
            <port>9999</port>
            <name>admin</name>
            <password>password</password>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    我的standalone.xml包含;

    <interfaces>
        <interface name="ManagementRealm">
            <any-ipv4-address/>
        </interface>
        <interface name="management">
            <any-ipv4-address/>
        </interface>
        <interface name="public">
            <any-ipv4-address/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure:127.0.0.1}"/>
        </interface>
    </interfaces>
    
    <socket-binding-group name="standard-sockets" default-interface="public" port-offset="${jboss.socket.binding.port-offset:0}">
        <socket-binding name="management-native" interface="management" port="${jboss.management.native.port:9999}"/>
        <socket-binding name="management-http" interface="management" port="${jboss.management.http.port:902}"/>
        <socket-binding name="management-https" interface="management" port="${jboss.management.https.port:9443}"/>
        <socket-binding name="ajp" port="8009"/>
        <socket-binding name="http" port="8080"/>
        <socket-binding name="https" port="443"/>
        <socket-binding name="osgi-http" interface="management" port="8090"/>
        <socket-binding name="remoting" port="4447"/>
        <socket-binding name="txn-recovery-environment" port="4712"/>
        <socket-binding name="txn-status-manager" port="4713"/>
        <outbound-socket-binding name="mail-smtp">
            <remote-destination host="localhost" port="25"/>
        </outbound-socket-binding>
    </socket-binding-group>
    

    有人能让我正确地解决这个问题吗。 非常感谢,

    斯图亚特

    1 回复  |  直到 12 年前
        1
  •  1
  •   Community CDub    5 年前

    关于 jboss-as:deploy ,其中提到如下内容:-

    名称 字符串指定用于部署的名称。

    用户名 字符串-指定 服务器提示进行身份验证时要使用的用户名 如果没有指定用户名并且服务器请求认证,则将提示用户提供用户名, 用户属性为: jboss-as.username .

    那么你的插件配置应该使用 username 而是作为下面的例子。

    <plugin>
      <groupId>org.jboss.as.plugins</groupId>
      <artifactId>jboss-as-maven-plugin</artifactId>
      <version>7.4.Final</version>
      <executions>
        <execution>
          <id>Dev_Deploy</id>
          <phase>install</phase>
          <goals>
            <goal>deploy</goal>
          </goals>
          <configuration>
            <force>true</force>
            <hostname>??.??.??.??</hostname>
            <port>9999</port>
            <username>admin</username> <!-- <----Change here -->
            <password>password</password>
          </configuration>
        </execution>
      </executions>
    </plugin>
    

    我希望这能有所帮助。

    推荐文章