2.2. UsernamePasswordLoginModule
短縮名: UsernamePasswordLoginModule
フルネーム: org.jboss.security.auth.spi.UsernamePasswordLoginModule
UsernamePassword ログインモジュールは、ログインプロセスで identity == String username, credentials == String password view を制限する抽象ログインモジュールです。以下のフィールドに加えて、AbstractServerLoginModule からすべてのフィールドを継承します。
オプション | Type | デフォルト | 説明 |
---|---|---|---|
ignorePasswordCase | boolean | false | パスワードの比較で大文字と小文字を無視するかどうかを示すフラグ。 |
digestCallback | 完全修飾クラス名 | none | 入力パスワードをハッシュするために salts などの事前/ ポストダイジェストコンテンツが含まれる org.jboss.crypto.digest.DigestCallback 実装のクラス名。hashAlgorithm が指定され、hashUserPassword が true に設定されている場合のみ使用されます。 |
storeDigestCallback | 完全修飾クラス名 | none | 入力パスワードをハッシュするために salts などのストア/予測ダイジェストコンテンツが含まれる org.jboss.crypto.digest.DigestCallback 実装のクラス名。hashStorePassword が true で hashAlgorithm が指定されている場合にのみ使用されます。 |
throwValidateError | boolean | false | 検証エラーをクライアントに公開すべきかどうかを示すフラグ。 |
inputValidator | 完全修飾クラス名 | none | クライアントが提供するユーザー名およびパスワードを検証するために使用される org.jboss.security.auth.spi.InputValidator 実装のインスタンス。 |
パスワードハッシュに関する UsernamePassword ログインモジュールオプションについては、次のセクションで説明します。
2.2.1. パスワードのハッシュ化
ログインモジュールのほとんどは、クライアントが提供するパスワードをユーザー管理システムに保存されたパスワードと比較する必要があります。通常、これらのモジュールはプレーンテキストのパスワードを使用しますが、プレーンテキストのパスワードがサーバー側に保存されないようにするため、ハッシュ化されたパスワードをサポートするよう設定できます。JBoss EAP 6 は、ユーザーパスワードおよびストアパスワードがハッシュ化された場合だけでなく、ハッシュアルゴリズム、エンコーディング、および文字セットを設定する機能をサポートします。
Red Hat JBoss Enterprise Application Platform Common Criteria 認定リリースは、パスワードハッシュに SHA-256 のみをサポートします。
以下は、UsernamePassword ログインモジュールが親となるログインモジュールの一部として設定できるパスワードハッシュオプションです。
オプション | Type | デフォルト | 説明 |
---|---|---|---|
hashAlgorithm | パスワードハッシュアルゴリズムを表す文字列。 | none | パスワードをハッシュするために使用される java.security.MessageDigest アルゴリズムの名前。デフォルトがないため、ハッシュを有効にするには、このオプションを指定する必要があります。一般的な値は SHA-256、SHA-1、および MD5 です。HashAlgorithm が指定され、hashUserPassword が true に設定されている場合、CallbackHandler から取得したクリアテキストパスワードは、UsernamePasswordLoginModule.validatePassword に inputPassword 引数として渡される前にハッシュされます。 |
hashEncoding | String | base64 | hashAlgorithm も設定されている場合はハッシュ化されたパスワードの文字列形式。base64、hex、または rfc2617 のいずれかのエンコーディングタイプを指定できます。 |
hashCharset | String | コンテナーのランタイム環境に設定されるデフォルトのエンコーディング | パスワード文字列をバイト配列に変換する際に使用する charset/エンコーディングの名前。 |
hashUserPassword | boolean | true | ユーザーが入力したパスワードをハッシュ化するかどうかを示すフラグ。ハッシュ化されたユーザーパスワードは、ログインモジュール内の値と比較されます. これは、パスワードのハッシュです。 |
hashStorePassword | boolean | false | 返されたストアパスワードをハッシュ化するかどうかを示すフラグ。これは、ユーザーパスワードのハッシュと、比較対象のサーバーからの要求固有のトークンを送信するダイジェスト認証に使用されます。ハッシュアルゴリズム (ダイジェストの場合は rfc2617) を利用してサーバー側のハッシュを計算し、クライアントから送信されたハッシュ値と一致させる必要があります。 |
passwordIsA1Hash | boolean | digestCallback または storeDigestCallback として設定される場合にorg.jboss.security.auth.callback.RFC2617Digest が使用するフラグ。True の場合、着信パスワードはハッシュ化されているため、ハッシュ化されません。 |