セキュリティ ドメインとデータベースという名前のモジュールを使用して、アプリケーションを自動セットアップする方法を探しています。
初期設定を簡素化するために、展開(Maven)またはセットアップ(ランタイム)フェーズでstandalone.xmlまたはdomain.xmlにセクションを追加する方法を教えてください。
セキュリティ ドメインとデータベースという名前のモジュールを使用して、アプリケーションを自動セットアップする方法を探しています。
初期設定を簡素化するために、展開(Maven)またはセットアップ(ランタイム)フェーズでstandalone.xmlまたはdomain.xmlにセクションを追加する方法を教えてください。
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
これが助けになることを願っています。