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