2

セキュリティ ドメインとデータベースという名前のモジュールを使用して、アプリケーションを自動セットアップする方法を探しています。

初期設定を簡素化するために、展開(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 に答える