2

我寻求一种使用名为 Database 的安全域和模块的应用程序自动设置方法。

请有人告诉我,如何在部署(maven)或设置(运行时)阶段在standalone.xml或domain.xml中添加一个部分以简化初始设置?

4

1 回答 1

5

您可以使用WildFly Maven 插件 (wildfly-maven-plugin)wildfly-maven-plugin用于部署、重新部署、取消部署或运行​​您的应用程序。您还可以部署或取消部署工件,例如 JDBC 驱动程序,以及添加或删除资源。还可以执行 CLI 命令。

例如。从 CLI 脚本执行命令

<project>
    ...
    <build>
        ...
        <plugins>
            ...
            <plugin>
                <groupId>org.wildfly.plugins</groupId>
                <artifactId>wildfly-maven-plugin</artifactId>
                <version>1.0.2.Final</version>
                <configuration>
                    <execute-commands>
                        <scripts>
                            <script>config.cli</script>
                        </scripts>
                    </execute-commands>
                </configuration>
            </plugin>
            ...
        </plugins>
        ...
    </build>
...
</project>

config.cli添加安全域:

batch
# Configure the security domain
/subsystem=security/security-domain=my-security/:add(cache-type=default)
/subsystem=security/security-domain=my-security/authentication=classic:add(login-modules=[{"code"=>"Database", "flag"=>"required", "module-options"=>[("dsJndiName"=>"java:jboss/datasources/myDS"),("principalsQuery"=>"SELECT PASSWORD FROM USERS WHERE USERNAME = ?"), ("rolesQuery"=>"SELECT R.NAME, 'Roles' FROM USERS_ROLES UR INNER JOIN ROLES R ON R.ID = UR.ROLE_ID INNER JOIN USERS U ON U.ID = UR.USER_ID WHERE U.USERNAME = ?")]}])
# Run the batch commands
run-batch
# Reload the server configuration
:reload

我希望这会有所帮助。

于 2014-12-26T15:23:14.353 回答