- はじめに
- 属性
- 共通属性
- DataSource データベース Realm - org.apache.catalina.realm.DataSourceRealm
- JNDI ディレクトリ Realm - org.apache.catalina.realm.JNDIRealm
- UserDatabase Realm - org.apache.catalina.realm.UserDatabaseRealm
- メモリベース Realm - org.apache.catalina.realm.MemoryRealm
- JAAS Realm - org.apache.catalina.realm.JAASRealm
- 結合 Realm - org.apache.catalina.realm.CombinedRealm
- LockOut Realm - org.apache.catalina.realm.LockOutRealm
- Null Realm - org.apache.catalina.realm.NullRealm
- 認証済みユーザー Realm - org.apache.catalina.realm.AuthenticatedUserRealm
- ネストされたコンポーネント
- 特別な機能
Realm コンポーネント
目次
はじめに
Realm 要素は、ユーザー名、パスワード、およびそれらのユーザーに割り当てられたロール (Unix のグループに類似) の "データベース" を表します。Realm のさまざまな実装により、Catalina を、このような認証情報が既に作成および維持されている環境に統合し、その情報を使用して、サーブレット仕様で説明されているように、コンテナ管理セキュリティを実装できます。
Catalina コンテナ (Engine, Host, または Context) には、Realm 要素を 1 つしか含めることができません (ただし、Realm でサポートされている場合、この 1 つの Realm 自体に複数のネストされた Realm を含めることができます)。さらに、Engine または Host に関連付けられた Realm は、下位レベルのコンテナが独自の Realm を明示的に定義しない限り、下位レベルのコンテナに自動的に継承されます。Engine に対して Realm が構成されていない場合、Null Realm のインスタンスが Engine に自動的に構成されます。
Web アプリケーションにおけるコンテナ管理セキュリティに関する詳細な情報、および標準の Realm コンポーネント実装の構成と使用に関する詳細については、コンテナ管理セキュリティガイドを参照してください。
以下の説明では、変数名 $CATALINA_BASE を使用して、ほとんどの相対パスが解決されるベースディレクトリを参照します。CATALINA_BASE ディレクトリを設定して Tomcat を複数のインスタンス用に構成していない場合、$CATALINA_BASE は $CATALINA_HOME の値 (Tomcat をインストールしたディレクトリ) に設定されます。
属性
共通属性
Realm のすべての実装は、次の属性をサポートしています。
属性 | 説明 |
---|---|
className |
使用する実装の Java クラス名。このクラスは、 |
ほとんどの Catalina コンポーネントとは異なり、利用可能な標準の Realm 実装がいくつかあります。その結果、使用する実装を選択するには、className
属性を必ず使用する必要があります。
DataSource データベース Realm - org.apache.catalina.realm.DataSourceRealm
DataSource データベース Realm は、Tomcat をリレーショナルデータベースに接続し、JNDI 名前付き JDBC DataSource を介してアクセスして、ユーザー名、パスワード、およびそれらに関連付けられたロールの検索を実行します。検索は必要なときに毎回実行されるため、データベースへの変更は、新しいログインの認証に使用される情報にすぐに反映されます。
JDBC Realm は、単一の DB 接続を使用します。これには、Realm ベースの認証を同期する必要があります。つまり、一度に実行できる認証は 1 つだけです。これは、Realm ベースの認証の量が多いアプリケーションのボトルネックになる可能性があります。
DataSource データベース Realm は、同時 Realm ベースの認証をサポートし、基になる JDBC DataSource がデータベース接続プーリングなどの最適化を処理できるようにします。
追加の豊富な属性セットにより、JNDI JDBC DataSource の名前、および必要な情報の取得に使用されるテーブルと列の名前を構成できます。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 この属性の値が |
dataSourceName |
この Realm の JNDI JDBC DataSource の名前。 |
localDataSource |
Realm が Context 要素内にネストされている場合、これにより、Realm はグローバル DataSource ではなく Context に対して定義された DataSource を使用できます。指定されていない場合、デフォルトは |
roleNameCol |
"ユーザーロール" テーブルで、対応するユーザーに割り当てられたロール名を含む列の名前。 この属性は、ほとんどの構成で必須です。省略できるまれなケースについては、allRolesMode 属性を参照してください。 |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
stripRealmForGss |
GSS-API を介して認証されたユーザーを処理する場合、この属性は、ユーザー名の末尾から "@..." を削除するかどうかを制御します。指定されていない場合、デフォルトは |
userCredCol |
"ユーザー" テーブルで、ユーザーの資格情報 (つまり、パスワード) を含む列の名前。 |
userNameCol |
"ユーザー" テーブルおよび "ユーザーロール" テーブルで、ユーザーのユーザー名を含む列の名前。 |
userRoleTable |
"ユーザーロール" テーブルの名前。 この属性は、ほとんどの構成で必須です。省略できるまれなケースについては、allRolesMode 属性を参照してください。 |
userTable |
"ユーザー" テーブルの名前。 |
X509UsernameRetrieverClassName |
X509 クライアント証明書を使用する場合、これは、証明書からユーザー名を取得するために使用されるクラス名を指定します。クラスは、 |
DataSource データベース Realm コンポーネントを使用したコンテナ管理セキュリティの設定の詳細については、DataSource Realm How-To を参照してください。
JNDI ディレクトリ Realm - org.apache.catalina.realm.JNDIRealm
JNDI ディレクトリ Realm は、Tomcat を LDAP ディレクトリに接続します。このディレクトリは、適切な JNDI ドライバーを介してアクセスされ、ユーザー名、パスワード、およびそれらに関連付けられたロールを格納します。ディレクトリへの変更は、新しいログインの認証に使用される情報にすぐに反映されます。
ディレクトリ Realm は、LDAP を認証に使用するさまざまなアプローチをサポートしています。
- Realm は、パターンを使用してユーザーのディレクトリエンティティの識別名 (DN) を判別するか、ディレクトリを検索してそのエントリを見つけることができます。
- Realm は、ユーザーのエントリの DN とユーザーが提示したパスワードを使用してディレクトリにバインドするか、ユーザーのエントリからパスワードを取得してローカルで比較を実行することにより、ユーザーを認証できます。
- ロールは、ディレクトリ検索で見つかった明示的なエントリ (たとえば、ユーザーがメンバーであるグループエントリ) として、ユーザーのエントリの属性の値として、またはその両方としてディレクトリに表すことができます。
追加の豊富な属性セットにより、必要な動作、および基になるディレクトリへの接続、およびディレクトリから情報の取得に使用される要素と属性名を構成できます。
属性 | 説明 |
---|---|
adCompat |
Microsoft Active Directory は、多くの場合、参照を返します。NamingEnumerations を反復処理すると、これらにより PartialResultExceptions が発生します。これらの例外を無視する場合は、この属性を "true" に設定します。残念ながら、例外が実際に AD 参照から来ているかどうかを検出する安定した方法はありません。デフォルト値は "false" です。 |
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
alternateURL |
|
authentication |
使用する認証のタイプを指定する文字列。"none"、"simple"、"strong"、またはプロバイダー固有の定義を使用できます。プロバイダー固有のメカニズム "GSSAPI" が指定され、プロバイダーでサポートされている場合、 |
cipherSuites |
StartTLS を使用してセキュリティで保護された接続を開こうとするときに許可される暗号スイートを指定します。許可される暗号スイートは、コンマ区切りのリストで指定されます。デフォルトでは、JVM の暗号スイートが使用されます。 |
commonRole |
LDAP から取得されたロールに加えて、正常に認証された各ユーザーに割り当てられたロール名。指定されていない場合、LDAP 経由で取得されたロールのみが使用されます。 |
connectionName |
LDAP 検索操作のためにディレクトリへの接続を確立するときに使用するディレクトリのユーザー名。指定されていない場合、匿名接続が確立されます。これは、 |
connectionPassword |
LDAP 検索操作のためにディレクトリへの接続を確立するときに使用するディレクトリのパスワード。指定されていない場合、匿名接続が確立されます。これは、 |
connectionPoolSize |
JNDI Realm は、単一の接続でブロックするのを避けるために、ディレクトリサーバーへの接続のプールを使用できます。この属性値は、最大プールサイズです。指定されていない場合、 |
connectionTimeout |
LDAP ディレクトリへの接続を確立するときに使用するタイムアウト (ミリ秒単位)。指定されていない場合、5000 (5 秒) の値が使用されます。 |
connectionURL |
ディレクトリへの接続を確立するときに JNDI ドライバーに渡される接続 URL。 |
contextFactory |
JNDI |
derefAliases |
検索操作中にエイリアスをどのように逆参照するかを指定する文字列。許可される値は、"always"、"never"、"finding"、および "searching" です。指定されていない場合、"always" が使用されます。 |
forceDnHexEscape |
|
hostnameVerifierClassName |
ldap サーバーへの接続を保護するために StartTLS を使用する場合にホスト名の検証に使用するクラスの名前。デフォルトのコンストラクターは、検証クラスのインスタンスを構築するために使用されます。デフォルトでは、ldap サーバーのピア証明書に従って有効なホスト名のみが受け入れられます。 |
protocol |
使用する TLS プロトコルを指定する文字列。指定されていない場合、Java ランタイムのデフォルトが使用されます。 |
readTimeout |
ディレクトリへの接続からの読み取りを試みるときに使用するタイムアウト (ミリ秒単位)。指定されていない場合、デフォルトの 5000 (5 秒) が使用されます。 |
referrals |
JNDI 参照をどのように処理しますか? 許可される値は、"ignore"、"follow"、または "throw" です (詳細については、javax.naming.Context.REFERRAL を参照してください)。Microsoft Active Directory は、多くの場合、参照を返します。参照に従う必要がある場合は、参照を "follow" に設定します。注意: DNS が AD の一部でない場合、LDAP クライアントライブラリは、別の LDAP サーバーを見つけるために DNS でドメイン名を解決しようとする可能性があります。 |
roleBase |
ロール検索を実行するためのベースディレクトリエンティティ。指定されていない場合、ディレクトリコンテキスト内の最上位要素が使用されます。指定されている場合は、オプションで、ユーザーの識別名の名前部分に対応するパターン置換 "{0}".." {n}" を含めることができます ( |
roleName |
ロール検索によって見つかったディレクトリエンティティのロール名を含む属性の名前。さらに、
|
roleNested |
ロールをロールにネストする場合は、 |
roleSearch |
ロール検索の実行に使用される LDAP フィルター式。 認証されたユーザーのディレクトリエンティティから、ユーザーの識別名 (DN) を置換するには
このプロパティが指定されていない場合、ロール検索は行われず、ロールは |
roleSearchAsUser |
ユーザーロールを検索するときに、検索は現在認証されているユーザーとして実行する必要がありますか? false の場合、 |
roleSubtree |
|
sizeLimit |
|
spnegoDelegationQop |
JNDI Realm が SPNEGO 認証器で使用され、 デフォルト値は |
sslProtocol |
StartTLS で接続する場合に使用する SSL プロトコルを指定します。デフォルトでは、jre が決定します。さらに詳細な制御が必要な場合は、使用する |
sslSocketFactory |
StartTLS を使用して ldap サーバーに接続するときに使用する |
stripRealmForGss |
GSS-API を介して認証されたユーザーを処理する場合、この属性は、ユーザー名の末尾から "@..." を削除するかどうかを制御します。指定されていない場合、デフォルトは |
timeLimit |
|
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
useContextClassLoader |
JNDI プロバイダーの接続を開くときに、JNDIRealm にコンテキストクラスローダーを使用するように指示します。デフォルト値は |
useDelegatedCredential |
JNDIRealm が SPNEGO 認証器で使用される場合、ユーザーの委任された資格情報が利用可能になる場合があります。このような資格情報が存在する場合、この属性は、ディレクトリへの接続にそれらを使用するかどうかを制御します。委任された資格情報が存在するが、この属性が |
userBase |
|
userPassword |
ユーザーのエントリで、ユーザーのパスワードを含む属性の名前。この値を指定する場合、JNDIRealm は |
userPattern |
ユーザーのディレクトリエンティティの識別名 (DN) のパターン。 |
userRoleName |
ユーザーのディレクトリエンティティで、このユーザーに割り当てられたロールの名前のゼロ以上の値を含む属性の名前。さらに、 |
userRoleAttribute |
ロールの検索時に使用する値を含む、ユーザーのディレクトリエントリ内の属性の名前。これは、ロール memberUid がユーザーの |
userSearch |
ユーザーのディレクトリエントリを検索するときに使用する LDAP フィルター式。 |
userSearchAsUser |
ユーザーのエントリを検索するときに、検索は現在認証されているユーザーとして実行する必要がありますか? false の場合、 |
userSubtree |
|
useStartTls |
ldap サーバーへの接続を保護するために StartTLS を使用する場合は、 |
X509UsernameRetrieverClassName |
X509 クライアント証明書を使用する場合、これは、証明書からユーザー名を取得するために使用されるクラス名を指定します。クラスは、 |
JNDI ディレクトリ Realm コンポーネントを使用したコンテナ管理セキュリティの設定の詳細については、コンテナ管理セキュリティガイドを参照してください。
UserDatabase Realm - org.apache.catalina.realm.UserDatabaseRealm
UserDatabase Realm は、この Tomcat インスタンス用に構成されたグローバル JNDI リソースを介して利用可能になる UserDatabase リソースに基づいた Realm 実装です。
UserDatabase Realm 実装は、次の追加の属性をサポートしています。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
localJndiResource |
Realm が Context 要素内にネストされている場合、これにより、Realm はグローバル UserDatabase ではなく Context に対して定義された UserDatabase を使用できます。指定されていない場合、デフォルトは |
resourceName |
この Realm がユーザー、パスワード、およびロール情報に使用するグローバル |
useStaticPrincipal |
これにより、必要に応じてデータベースから切断された静的な |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
X509UsernameRetrieverClassName |
X509 クライアント証明書を使用する場合、これは、証明書からユーザー名を取得するために使用されるクラス名を指定します。クラスは、 |
UserDatabase Realm コンポーネントを使用したコンテナ管理セキュリティの設定の詳細については、コンテナ管理セキュリティガイド を参照し、UserDatabase リソースの構成方法の詳細については、JNDI リソースのハウツー を参照してください。
メモリベース Realm - org.apache.catalina.realm.MemoryRealm
メモリベース Realm は、XML 形式からユーザー情報を読み取り、それをメモリ内の Java オブジェクトのコレクションとして表す単純な Realm 実装です。この実装は、コンテナ管理セキュリティを立ち上げて実行することのみを目的としており、本番環境での使用を目的としていません。そのため、基になるデータファイルの内容が変更されたときにメモリ内のユーザーコレクションを更新するメカニズムはありません。
メモリベース Realm 実装は、次の追加の属性をサポートしています。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
pathname |
ユーザー情報を含む XML ファイルの URL、絶対パス、または相対パス ($CATALINA_BASE に対して)。必要な XML 要素形式の詳細については、以下を参照してください。pathname が指定されていない場合、デフォルト値は |
stripRealmForGss |
GSS-API を介して認証されたユーザーを処理する場合、この属性は、ユーザー名の末尾から "@..." を削除するかどうかを制御します。指定されていない場合、デフォルトは |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
X509UsernameRetrieverClassName |
X509 クライアント証明書を使用する場合、これは、証明書からユーザー名を取得するために使用されるクラス名を指定します。クラスは、 |
pathname
属性で参照される XML ドキュメントは、次の要件に準拠する必要があります。
- ルート (外側) 要素は
<tomcat-users>
である必要があります。 - 各承認されたユーザーは、ルート要素内にネストされた単一の XML 要素
<user>
で表す必要があります。 - 各
<user>
要素には、次の属性が必要です。- username - このユーザーのユーザー名 (このファイル内で一意である必要があります)。
互換性のために、この属性の代替名として name を使用できます。 - password - このユーザーのパスワード (クリアテキスト形式)。
- roles - このユーザーに割り当てられたロール名のコンマ区切りのリスト。
- username - このユーザーのユーザー名 (このファイル内で一意である必要があります)。
メモリベース Realm コンポーネントを使用したコンテナ管理セキュリティの設定の詳細については、コンテナ管理セキュリティガイドを参照してください。
JAAS Realm - org.apache.catalina.realm.JAASRealm
JAASRealm は、Java Authentication & Authorization Service (JAAS) フレームワーク (現在は標準の J2SE API の一部として提供されています) を介してユーザーを認証する Tomcat Realm
インターフェースの実装です。
JAASRealm を使用すると、開発者は考えられるほぼすべてのセキュリティ Realm を Tomcat の CMA と組み合わせることができます。
JAASRealm は、JCP Specification Request 196 に基づいて、コンテナ管理セキュリティを強化し、実装がコンテナに依存しない「プラグ可能な」認証メカニズムを推進するための J2EE v1.4 の JAAS ベースの J2EE 認証フレームワークの Tomcat のプロトタイプです。
JAASログインモジュールとプリンシパル(javax.security.auth.spi.LoginModule
および javax.security.Principal
を参照)に基づいて、Tomcatによって実装されるCMAと統合するために、独自のセキュリティメカニズムを開発したり、別のサードパーティ製メカニズムをラップしたりできます。
JAAS Realmの実装は、以下の追加属性をサポートしています。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
appName |
ログイン構成ファイル(JAAS LoginConfig)で構成されているアプリケーションの名前。 指定されていない場合、 |
userClassNames |
ユーザーの |
configFile |
このRealmで使用するJAAS構成ファイルの名前。 |
roleClassNames |
ロール |
stripRealmForGss |
GSS-API を介して認証されたユーザーを処理する場合、この属性は、ユーザー名の末尾から "@..." を削除するかどうかを制御します。指定されていない場合、デフォルトは |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
useContextClassLoader |
JAASRealmに、ユーザが指定した |
X509UsernameRetrieverClassName |
X509 クライアント証明書を使用する場合、これは、証明書からユーザー名を取得するために使用されるクラス名を指定します。クラスは、 |
JAAS Realmコンポーネントを使用したコンテナ管理セキュリティのセットアップの詳細については、コンテナ管理セキュリティガイドを参照してください。
結合 Realm - org.apache.catalina.realm.CombinedRealm
CombinedRealmは、Tomcat Realm
インターフェースの実装であり、1つ以上のサブRealmを介してユーザーを認証します。
CombinedRealmを使用すると、開発者は同じタイプまたは異なるタイプの複数のRealmを組み合わせることができます。これは、異なるソースに対して認証したり、Realmが失敗した場合のフォールバックを提供したり、複数のRealmを必要とするその他の目的に使用できます。
サブリソースは、CombinedRealmを定義するRealm
要素内にRealm
要素をネストすることによって定義されます。認証は、リストされている順に各Realm
に対して試行されます。Realmに対する認証は、ユーザーを認証するのに十分です。認証されたユーザーと、それに関連付けられたロールは、ユーザーの認証に成功した最初のRealmから取得されます。
CombinedRealmコンポーネントを使用したコンテナ管理セキュリティのセットアップの詳細については、コンテナ管理セキュリティガイドを参照してください。
CombinedRealmの実装は、次の追加属性をサポートしています。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
LockOut Realm - org.apache.catalina.realm.LockOutRealm
LockOutRealmは、Tomcat Realm
インターフェースの実装であり、CombinedRealmを拡張してロックアウト機能を提供し、一定期間に認証試行が多すぎる場合にユーザーロックアウトメカニズムを提供します。
正しく動作するように、このRealmにはある程度の同期があります。
このRealmでは、基になるRealmまたは関連するユーザーストレージメカニズムを変更する必要はありません。これは、存在しないユーザーのものを含む、すべての失敗したログインを記録することで実現されます。無効なユーザーで意図的にリクエストを作成することによってDOSを防止するために(したがって、このキャッシュが拡大します)、認証に失敗したユーザーのリストのサイズは制限されています。
サブリソースは、LockOutRealmを定義するRealm
要素内にRealm
要素をネストすることによって定義されます。認証は、リストされている順に各Realm
に対して試行されます。Realmに対する認証は、ユーザーを認証するのに十分です。
LockOutRealmの実装は、次の追加属性をサポートしています。
属性 | 説明 |
---|---|
allRolesMode |
この属性は、web.xml での承認制約の処理時に、特別なロール名 |
cacheRemovalWarningTime |
失敗したユーザーが、少なくともこの期間(秒単位)キャッシュに保存される前に、キャッシュが大きすぎるためにキャッシュから削除された場合、警告メッセージが記録されます。デフォルトは3600(1時間)です。 |
cacheSize |
キャッシュに保持する認証に失敗したユーザーの数。時間とともに、キャッシュはこのサイズまで拡大し、縮小しない場合があります。デフォルトは1000です。 |
failureCount |
ユーザーがロックアウトされるまでに、連続して認証に失敗する必要がある回数。デフォルトは5です。 |
lockOutTime |
認証の失敗が多すぎる場合に、ユーザーがロックアウトされる時間(秒単位)。デフォルトは300(5分)です。ロックアウト時間中の認証の失敗は、ロックアウトタイマーをゼロにリセットし、事実上ロックアウト時間を延長します。ロックアウト期間中の有効な認証試行は成功しませんが、ロックアウト時間もリセットしません。 |
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
LockOutRealmコンポーネントを使用したコンテナ管理セキュリティのセットアップの詳細については、コンテナ管理セキュリティガイドを参照してください。
Null Realm - org.apache.catalina.realm.NullRealm
NullRealmは、Tomcat Realm
インターフェースの最小限の実装であり、ユーザー名と関連する資格情報を検証しようとすると常にnullを返します。これは、他のRealmが指定されていない場合に、デフォルトのRealm実装として使用することを目的としています。
NullRealmの実装は、次の追加属性をサポートしています。
属性 | 説明 |
---|---|
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
認証済みユーザー Realm - org.apache.catalina.realm.AuthenticatedUserRealm
AuthenticatedUserRealmは、ユーザーを認証し、ユーザー資格情報を取得するAuthenticator実装(SSLAuthenticator、SpnegoAuthenticator)で使用することを目的としています。認証されたPrincipalは、追加の検証なしに、提示されたユーザー名から常に作成されます。
注:提供された資格情報を検証しないAuthenticator実装でこのRealmを使用するのは安全ではありません。
AuthenticatedUserRealmの実装は、次の追加属性をサポートしています。
属性 | 説明 |
---|---|
transportGuaranteeRedirectStatus |
構成されたトランスポート保証の要件を満たすために、コンテナが HTTP リダイレクトを発行する必要がある場合に使用する HTTP ステータスコード。提供されたステータスコードは検証されません。指定されていない場合、デフォルト値の |
ネストされたコンポーネント
Realm要素内に対応する要素をネストすることにより、次のコンポーネントをネストできます。
- CombinedRealmの実装 - CombinedRealmの実装、またはCombinedRealmを拡張するRealm(例:LockOutRealm)を使用している場合、1つ以上の<Realm>要素をその内部にネストできます。
- CredentialHandler - Realm内にこの要素のインスタンスを最大で1つネストできます。これにより、提供された資格情報をRealmによって保存された資格情報と検証するために使用される資格情報ハンドラーが構成されます。指定されていない場合は、デフォルトのMessageDigestCredentialHandlerが構成されます。
特別な機能
仮想ホストのシングルサインオンサポートの構成については、シングルサインオンを参照してください。