2.3. アプリケーションのセキュリティドメインの定義
アプリケーションが SPNEGOLoginModule 経由でアプリケーションサーバーと通信できるよう、アプリケーションサーバー上でアプリケーションのセキュリティドメインを定義する必要があります。
アプリケーションのセキュリティドメインを定義するには、以下を行います。
$JBOSS_HOME/jboss-as/server/$PROFILE/conf/login-config.xml
ファイルを開き編集します。- 新しいアプリケーションポリシーを以下のチェーン設定で定義します。
- 以下のオプションを使った SPNEGOLoginModule とその設定
- <module-option name="password-stacking">useFirstPass</module-option>
- パスワードスタッキングオプションは、他のログインモジュールでクライアント側の認証をアクティベートします。
password-stacking
オプションをuseFirstPass
に設定し、まず、共有されているユーザー名がjavax.security.auth.login.name
、パスワードがjavax.security.auth.login.password
のものをモジュールが検索するようにします (詳細情報は、Password Stacking chapter in the Security Guideを参照)。 - <module-option name="serverSecurityDomain">DomainName</module-option>
- serverSecurityDomain オプションは、サーバーのセキュリティドメインを定義し、これにより、認証モジュール (Kerberos) とサーバー認証プロパティ (「サーバーのセキュリティドメインの定義」 参照) を定義します。
- 認証ユーザーのロールと設定オプションを返すログインモジュール。プロパティファイルからユーザーロールを取得する UsersRolesLoginModule あるいは GSSAPI に従う LDAP サーバーからユーザーロールを取得する AdvancedLdapLoginModule を利用することができます。詳細情報は、「ロールマッピング」 を参照してください。
例2.2 アプリケーションのセキュリティドメイン
例2.2「アプリケーションのセキュリティドメイン」 では、2つのログインモジュールを持つ、
SPNEGO
と呼ばれるアプリケーションのセキュリティドメインを定義しました。
org.jboss.security.negotiation.spnego.SPNEGOLoginModule
は、SPNEGO ユーザー認証を提供します。org.jboss.security.auth.spi.UsersRolesLoginModule
は、SPNEGOLoginModule で認証されたユーザーロールを返します (ロールはユーザーのプロパティファイルからフィルタリングされます)。