15.3.3. ログインモジュールを使用するようDataSource を設定

手順15.1 ログインモジュールを使用するようDataSource を設定

  1. データソースについて、<security-domain-parameter> を XML ファイルに追加します。

         <datasources>
           <local-tx-datasource>
             ...
             <security-domain>MyDomain</security-domain>
             ...
           </local-tx-datasource>
         </datasources>
    
  2. login-config.xml ファイルにアプリケーションポリシーを追加します。

    認証セクションにはログインモジュールの設定が含まれるようにしなければなりません。例えば、 データベースパスワードを暗号化する場合、 SecureIdentityLoginModule ログインモジュールを使用します。
    <application-policy name="MyDomain">
       <authentication>
          <login-module code="org.jboss.resource.security.SecureIdentityLoginModule" flag="required">
             <module-option name="username">scott</module-option>
             <module-option name="password">-170dd0fbd8c13748</module-option>
             <module-option name="managedConnectionFactoryName">jboss.jca:service=LocalTxCM,name=OracleDSJAAS</module-option>
          </login-module>
       </authentication>
    </application-policy>
    
  3. Web アプリケーションからデータソース接続をフェッチするつもりであれば、Web アプリケーションに対する認証を有効化し、Subject が生成されるようにする必要があります。
  4. ユーザーが無名で接続する機能が必要な場合、 application-policyに別のログインモジュールを追加しセキュリティ証明書を生成します。
  5. UsersRolesLoginModule モジュールをチェーンの最初に追加します。usersPropertiesrolesProperties パラメーターをダミーファイルに移動することができます。
    <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule" flag="required">
       <module-option name="unauthenticatedIdentity">nobody</module-option>
       <module-option name="usersProperties">props/users.properties</module-option>
       <module-option name="rolesProperties">props/roles.properties</module-option>
    </login-module>