6.2.5. 複数のログインモジュールの使用
ログインモジュールを組み合わせて、より複雑なユースケースに対応することができます。ログインモジュールを組み合わせる最も一般的な理由は、匿名ユーザーと認証情報を送信するユーザーの両方の認証をサポートすることです。
前提条件
さまざまな認証の組み合わせの前提条件は、実装されている方法によって異なります。最も一般的な複数ログインシナリオの前提条件は次のとおりです。
-
有効な
artemis-users.properties
ファイル -
有効な
artemis-roles.properties
ファイル -
匿名アクセス用に設定された
login.config
ファイル
手順
-
login.config
ファイルを編集して、目的の認証モジュールのエントリーを追加します。 - 環境のニーズに合わせて、各モジュールエントリーにパラメーターを設定します。
以下に示すように、セキュリティードメインエイリアス (このインスタンスでは activemq) が
bootstrap.xml
で参照されていることを確認します。例6.4
bootstrap.xml
<jaas-security domain="activemq"/>
設定例
次の例は、複数のログイン設定のカスケードの性質を示しています。
例6.5 login.config
activemq { org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule sufficient 1 debug=true org.apache.activemq.jaas.properties.user="artemis-users.properties" org.apache.activemq.jaas.properties.role="artemis-roles.properties"; org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule sufficient 2 debug=true org.apache.activemq.jaas.guest.user="guest" org.apache.activemq.jaas.guest.role="restricted"; };
次の例は、認証情報を持たないユーザーのみがゲストとしてログインするユースケースの JAAS ログインエントリーを設定する方法を示しています。ログインモジュールの順序が逆になり、プロパティーログインモジュールに付加されたフラグが requisite
に変更されることに注意してください。
例6.6 login.config
activemq { org.apache.activemq.artemis.spi.core.security.jaas.GuestLoginModule sufficient 1 debug=true credentialsInvalidate=true 2 org.apache.activemq.jaas.guest.user="guest" org.apache.activemq.jaas.guest.role="guests"; org.apache.activemq.artemis.spi.core.security.jaas.PropertiesLoginModule requisite 3 debug=true org.apache.activemq.jaas.properties.user="artemis-users.properties" org.apache.activemq.jaas.properties.role="artemis-roles.properties"; };