ユーザ認証方法の定義は、login-configタグで定義します。
記述形式
<login-config> <auth-method>method</auth-method> <realm-name>name</realm-name> <form-login-config> <form-login-page>login-page</form-login-page> <form-error-page>error-page</form-error-page> </form-login-config> </login-config>
タグの内容
タグ名 | 説明 | タグの省略 | 複数の指定 |
---|---|---|---|
auth-method | 認証方法を定義します。以下の値を指定します。
auth-methodタグが省略された場合は、“BASIC”が省略値となります。値の省略はできません。 | ○ | × |
realm-name | HTTP Basic認証で使用する領域名を定義します。 | ○ | × |
form-login-config | フォームベース認証定義の開始/終了を定義します。 | ○ | × |
form-login-page | フォームベース認証で使用するログインページを定義します。 指定されたログインぺージは、フォームベース認証が行われる際にWebブラウザに表示されます。 注) ログインページでは、ユーザ名/パスワードをServletコンテナに受け渡すため、以下のインタフェースを使用しなければなりません。
例) | × | × |
form-error-page | フォームベース認証失敗時に表示するエラーページのロケーションを定義します。 指定されたエラーぺージは、フォームベース認証失敗時にWebブラウザに表示されます。 | × | × |
記述例
HTTP Basic認証の場合
<login-config> <auth-method>BASIC</auth-method> <realm-name>Welcome Page</realm-name> </login-config>
フォームベース認証の場合
<login-config> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/login.jsp</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config>
留意事項
フォームベース認証は、Webアプリケーションのコンテキスト設定に指定する“ブラウザでセションを保存する設定”によって、認証の継続についての動作が異なります。
Webアプリケーションのコンテキスト設定はInterstage管理コンソールで設定します。
“ブラウザでセションを保存する設定”を有効にした場合
ユーザ名/パスワードの入力処理は、クライアントの初回起動時だけ必要です。
クライアントを終了しても認証は継続します。
認証の継続時間は、以下によって決まります。
セションのタイムアウト
セションがタイムアウトするまでの間、認証は継続します。
セションのタイムアウト時間は、Webアプリケーション環境定義ファイル(deployment descriptor)(web.xml)のsession-configタグ、またはHttpSessionクラスのsetMaxInactiveInterval(int interval)メソッドで定義することができます。session-configタグの詳細は、“7.5.9 セションパラメタ”を参照してください。
アプリケーションがセションを破棄するまで
アプリケーション内の処理で、HttpSessionクラスのinvalidate()メソッドを使用してセションを破棄するまで、認証は継続します。
注意
フォームベース認証における認証継続処理は、Cookieを利用して実装されています。したがって、Cookieをサポートしていないクライアントや、Cookieを無効にするような運用をしている場合には、“ブラウザでセションを保存する設定”を有効にした場合でも、認証は継続されません。
“ブラウザでセションを保存する設定”を無効にした場合
ユーザ名/パスワードの入力処理は、クライアントを起動するたびに必要です。
クライアントを終了すると、認証は無効になります。
フォームベース認証使用時には、認証情報はServletのセションに格納されます。
そのため、以下の場合はセションは新規となり、再度認証が必要となることがあります。
セションリカバリ機能有効、かつ
Session Registry Client(Servletコンテナ)の[セションリカバリ設定]において、[セションを使用しないURLの末尾]として拡張子を指定している、かつ
クライアントから、指定した拡張子のコンテンツに対するリクエストを行った、かつ
IJServerの再起動等の操作を行った、またはIJServerの停止、異常終了等で、別のServletコンテナにリクエストが振り分けられた、かつ
該当コンテンツが認証の対象になっている。