Cosminexus V9 アプリケーションサーバ 機能解説 セキュリティ管理機能編

[目次][用語][索引][前へ][次へ]

15.32 例外クラス

統合ユーザ管理のAPIで使用する例外クラスについて説明します。使用する例外クラスには,JAASで規定されているログインモジュールの例外クラスとこの製品で提供するAPI(JAAS以外)の例外クラスがあります。

<この節の構成>
(1) JAASのログインモジュールの例外クラス
(2) この製品で提供するAPIの例外クラス

(1) JAASのログインモジュールの例外クラス

JAASで規定されているログインモジュールの例外クラスを次の表に示します。

表15-3 JAASのログインモジュールの例外クラス一覧

項番 例外名 内容
1 javax.security.auth.login.LoginException 項番2〜4の親クラスです。コンストラクタのパラメタにmsg(java.lang.String)を持ちます。
2 javax.security.auth.login.AccountExpiredException ユーザアカウントが期限切れであることを通知します。
3 javax.security.auth.login.CredentialExpiredException Credentialが期限切れであることを通知します。
4 javax.security.auth.login.FailedLoginException 認証が失敗したことを通知します。

また,ユーザ認証ライブラリ/シングルサインオンライブラリのログインモジュールでは,これらの例外にエラーメッセージ文字列を設定して送出します。エラーメッセージ文字列の一覧を次の表に示します。

なお,ここで示した例外以外でも,JAASのコンフィグレーションファイルの記述に誤りがある場合にLoginContextクラスをインスタンス化すると,java.lang.SecurityException例外が発生します。その場合は,次の表のエラーメッセージ文字列を参照して,JAASのコンフィグレーションファイルの内容を修正してください。

表15-4 ユーザ認証ライブラリ/シングルサインオンライブラリのログインモジュールの例外

例外名 エラーメッセージ文字列 発生条件
javax.security.auth.login.FailedLoginException data not found 認証情報が,渡されたパラメタ内にありません。
WebPasswordHandlerクラスに渡したHttpServletRequest内にユーザID/パスワードが格納されていません。
invalid data
  • ユーザID/パスワードに誤りがあり,認証できません。
  • 証明書から取り出したユーザIDに対応したエントリが,リポジトリ内にありません。
no data 該当セッション内で認証済みである場合に,呼び出そうとしたレルムに対応したシングルサインオン用認証情報が定義されていません。
javax.security.auth.login.LoginException invalid parameter Credentialを作成しようとしたときの属性名と属性の一覧の指定内容に次のような誤りがあります。
  • 属性名が指定されていません。
  • 同じAliasが重複して指定されました。
SQLの例外名称 JDBCを使用したアクセスに失敗しました。この例外が発生した場合は,エラーメッセージ文字列を参照して対処してください。
JNDIの例外名称 LDAPのアクセスに失敗しました。
  • LDAPサーバが見つかりません(CommunicationException)。
  • バインドDNの指定ミスです(AuthenticationException)。
not supported 未サポートのCallbackHandlerを使用しました。
  • WebSSOLoginModuleまたはWebPasswordLoginModuleで必要とする情報が,CallbackHandlerで求められません。
  • handleメソッドで例外が発生しました。この例外は,上記の条件でユーザ管理が提供するCallbackHandlerだけで発生します。
no class for xxx WebSSOLoginModuleから呼び出すクラスが使用できません(xxxはcom.cosminexus.admin.auth.sso.loginmoduleで指定された値)。
  • インスタンス化ができません。JAASのログインモジュールを継承していません。また,アクセス権限がない,クラスパスが設定されていない場合があります。
config error
  • JAASのコンフィグレーションファイルに必要な情報が記述されていないため,処理を続行できませんでした。
  • 標準ログインモジュールによるユーザ管理のコンフィグレーションファイルに必要な情報が記述されていないため,処理を続行できませんでした。
invalid session HttpSessionオブジェクトに関連づけようとしましたが,HttpSessionオブジェクトが無効になりました。
crypto error 暗号化/復号化で失敗しました。
  • JNI機能で呼び出すシングルサインオンライブラリの共用ライブラリが見つかりません(java.library.pathの設定に問題があります)。
  • 復号化に失敗しました(暗号化と復号化で異なる鍵を使用しています)。
no sso data シングルサインオン用の情報がありません。
  • シングルサインオンをするために必要な情報が定義されていませんでした。
no principal Principalがないため,最初に認証したユーザを特定できませんでした。
class cast error リポジトリから取り出した型と統合ユーザ管理のコンフィグレーションファイルに指定された型が不一致です。一致するようにしてください。ua.conf(統合ユーザ管理のコンフィグレーションファイル)のcom.cosminexus.admin.auth.ldap.password.encryptを参照してください。ua.confファイルについては,「14.3 ua.conf(統合ユーザ管理のコンフィグレーションファイル)」を参照してください。
not found driver JDBCを使用しました。
  • WebPasswordJDBCLoginModuleでドライバが見つかりません。ドライバを正しい場所に格納してください。
その他 各システムのログインモジュールで発生しました。
  • WebSSOLoginModuleで,ユーザ認証ライブラリ以外のログインモジュールから発生しました。

(2) この製品で提供するAPIの例外クラス

この製品で提供するAPI(JAAS以外)の例外クラスは,次の図に示す階層を持ちます。

図15-2 例外クラスの階層

[図データ]

例外クラス一覧を次の表に示します。

表15-5 この製品で提供するAPIの例外クラス一覧

項番 例外名 内容
1 com.cosminexus.admin.common.UAException 項番2〜8の親クラスです。
2 com.cosminexus.admin.common.ParameterError 各APIのパラメタの指定に誤りがありました。
3 com.cosminexus.admin.common.FormatError Formatを持つものに対する指定に誤りがありました。
4 com.cosminexus.admin.common.ConfigError コンフィグレーションファイルの内容に誤りがありました。
5 com.cosminexus.admin.auth.api.repository.ldap.ObjectClassError オブジェクトクラスの指定に誤りがありました。
6 com.cosminexus.admin.auth.CryptoException 暗号化/復号化に失敗しました。
7 com.cosminexus.admin.auth.api.repository.event.ChangeDataFailedException 他システムの認証情報の更新に失敗した場合に,リスナクラスが呼び出されます。
8 com.cosminexus.admin.auth.api.repository.event.SSODataListenerException 他システムの認証情報の更新に失敗した場合に,LdapSSODataManagerクラスが呼び出されます。