通过Wildfly Maven插件集成安全领域

时间:2016-06-03 10:26:24

标签: maven jboss wildfly maven-plugin wildfly-10

有点same question as this one,但答案对我不起作用。另外我不知道他是如何在他的堆栈跟踪中获得jboss-cli的输出的,这对调试很有帮助。

无论如何,我正试图通过Maven在Wildfly 10中部署安全领域。通过控制台(在下面的代码中使用注释行)进行操作时可以正常工作,但不能使用Maven Wildfly插件。

<configuration>
    <!--add security domain-->
    <before-deployment>
        <commands>
            <!--<command>./subsystem=security/security-domain=walbangSecureRealm:add(cache-type="default")</command>-->
            <!--<command>cd ./subsystem=security/security-domain=walbangSecureRealm</command>-->
            <!--<command>./authentication=classic:add(login-modules=[{code="Database",flag="required",module-options={dsJndiName="java:/walbangDbDS",principalsQuery="select password from usercredential uc where uc.username = ?",rolesQuery="select role, 'Roles' from users u where u.username = ?",unauthenticatedIdentity="guest"}}])</command>-->
            <command>/subsystem=security/security-domain=walbangSecureRealm:add(cache-type=default)</command>
            <command>/subsystem=security/security-domain=walbangSecureRealm/authentication=classic:add(login-modules=[{"code"=>"Database","flag"=>"required","module-options"=>[("dsJndiName"=>"java:/walbangDbDS"),("principalsQuery"=>"select password from usercredential uc where uc.username = ?"),("rolesQuery"=>"select role, 'Roles' from users u where u.username = ?"),("unauthenticatedIdentity"=>"guest")]}])</command>
            <command>reload</command>
        </commands>
    </before-deployment>
</configuration>

stacktrace中的错误是:

12:18:54,236 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "walbang-0.0.1-SNAPSHOT.war")]) - failure description: {"WFLYCTL0180: Services with missing/unavailable dependencies" => [
    "jboss.deployment.unit.\"walbang-0.0.1-SNAPSHOT.war\".component.ManageMatchServiceImpl.CREATE is missing [jboss.security.security-domain.walbangSecureRealm]",...

以下是我在Maven中所拥有的更多信息:

<plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>2.6</version>
        <configuration>
            <warSourceDirectory>WebContent</warSourceDirectory>
            <failOnMissingWebXml>true</failOnMissingWebXml>
        </configuration>
    </plugin>
    <!--wildfly plugin-->
    <plugin>
        <groupId>org.wildfly.plugins</groupId>
        <artifactId>wildfly-maven-plugin</artifactId>
        <version>1.1.0.Alpha8</version>

        <executions>
            <!-- Deploy the JDBC driver -->
            <execution>
                <id>deploy-driver</id>
                <phase>package</phase>
                <configuration>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <name>mysql-connector</name>
                </configuration>
                <goals>
                    <goal>deploy-artifact</goal>
                </goals>
            </execution>
            <!-- Add a data source -->
            <execution>
                <id>add-datasource</id>
                <phase>package</phase>
                <configuration>
                    <address>subsystem=datasources,data-source=java:/walbangDbDS</address>
                    <resources>
                        <resource>
                            <enableResource>true</enableResource>
                            <properties>
                                <connection-url>jdbc:mysql://localhost:3306/forumcs</connection-url>
                                <jndi-name>java:/walbangDbDS</jndi-name>
                                <enabled>true</enabled>
                                <enable>true</enable>
                                <user-name>root</user-name>
                                <password>123456</password>
                                <driver-name>mysql-connector</driver-name>
                                <use-ccm>false</use-ccm>
                            </properties>
                        </resource>
                    </resources>
                </configuration>
                <goals>
                    <goal>add-resource</goal>
                </goals>
            </execution>
            <!-- Deploy the application on install -->
            <execution>
                <id>deploy</id>
                <phase>install</phase>
                <goals>
                    <goal>deploy</goal>
                </goals>
            </execution>
        </executions>



        <configuration>
            <!--add security domain-->
            <before-deployment>
                <commands>
                    <!--<command>./subsystem=security/security-domain=walbangSecureRealm:add(cache-type="default")</command>-->
                    <!--<command>cd ./subsystem=security/security-domain=walbangSecureRealm</command>-->
                    <!--<command>./authentication=classic:add(login-modules=[{code="Database",flag="required",module-options={dsJndiName="java:/walbangDbDS",principalsQuery="select password from usercredential uc where uc.username = ?",rolesQuery="select role, 'Roles' from users u where u.username = ?",unauthenticatedIdentity="guest"}}])</command>-->
                    <command>/subsystem=security/security-domain=walbangSecureRealm:add(cache-type=default)</command>
                    <command>/subsystem=security/security-domain=walbangSecureRealm/authentication=classic:add(login-modules=[{"code"=>"Database","flag"=>"required","module-options"=>[("dsJndiName"=>"java:/walbangDbDS"),("principalsQuery"=>"select password from usercredential uc where uc.username = ?"),("rolesQuery"=>"select role, 'Roles' from users u where u.username = ?"),("unauthenticatedIdentity"=>"guest")]}])</command>
                    <command>reload</command>
                </commands>
            </before-deployment>
        </configuration>

    </plugin>
</plugins>

0 个答案:

没有答案
相关问题