このトピックを使用して、CustomLoginServlet クラスを使用せずにフォーム・ベースのログインおよびサーブレット・フィルターを使用するアプリケーション内のマイグレーションを許可します。
始める前に
CustomLoginServlet クラスは WebSphere® Application Server バージョン 5 では
非推奨です。CustomLoginServlet クラスを使用して認証を行うアプリケーションは現在、フォーム・ベースのログインを使用する必要があります。
フォーム・ベースのメカニズムを使用すると、
ログイン画面のルック・アンド・フィールを制御できます。フォーム・ベースのログインでは、ユーザー ID と
パスワード情報の検索時に、ログイン・ページが指定され、表示されます。認証が失敗したときに 表示されるエラー・ペ
ージを指定することもできます。
ログインおよびエラー・ページでは CustomLoginServlet クラスの実装を行うために十分でない場合は、
サーブレット・フィルターを使用してください。サーブレット・フィルターは、
要求と応答を動的にインターセプトし、その要求または応答に含まれている
情報を変換または使用することができます。
1 つ以上のサーブレット・フィルターを、サーブレットまたはサーブレットのグループに付加することができます。サーブレット・フィルターは、JavaServer Pages (JSP) ファイルおよび
HTML ページに付加することもできます。すべての付加されたサーブレット・フィルターは、サーブレットを起動する前に呼び出されます。
フォーム・ベースのログインとサーブレット・フィルターは両方とも、サーブレット 2.3 仕様に準拠するすべての Web コンテナーによってサポートされます。フォーム・ログイン・
サーブレットは認証を実行し、サーブレット・フィルターは、追加の認証、監査、またはタスクのロギングを
実行できます。
サーブレット・フィルターを使用して事前ログインおよび事後ログイン・アクションを実行するには、
これらのサーブレット・フィルターを、フォーム・ログイン・ページ用、または /j_security_check URL 用の
いずれかに構成します。j_security_check は、ユーザー名を含む j_username パラメーター、
およびパスワードを含む j_password パラメーターを指定した、
フォーム・ログイン・ページでポストされます。サーブレット・フィルターは、ユーザー名およびパスワード情報を使用して、さらに認証を行ったり、他の特殊要件を満たすことができます。
手順
- アプリケーションのフォーム・ログイン・ページとエラー・ページを作成します。
詳しくは、Web アプリケーション・ログインのカスタマイズを参照してください。
- アプリケーションのフォーム・ログイン・ページとエラー・ページを構成します。
アセンブリー・ツールを使用した Web アプリケーションの保護に関する情報を参照してください。
- フォーム・ログイン認証の前後に、追加の処理が必要な場合は、
サーブレット・フィルターを開発します。
詳しくは、フォーム・ログイン処理のためのサーブレット・フィルターの開発を参照してください。
- 前のステップで作成したサーブレット・フィルターを、フォーム・ログイン・ページ URL 用、
または /j_security_check URL 用のいずれかに構成します。
アセンブリー・ツールまたは Rational® Application Developer などの開発ツールを使用して、フィルターを構成します。 サーブレット・フィルターを構成すると、web-xml ファイルには
2 つのスタンザが含まれます。最初のスタンザには、サーブレット・フィルター構成、サーブレット・フィルター、およびその実装クラスが含まれます。2 番目のスタンザには、フィルター・マッピング・セクション、URL へのサーブレット・フィルターのマッピングが含まれます。
詳しくは、フォーム・ログイン処理のためのサーブレット・フィルターの構成を参照してください。
タスクの結果
このマイグレーションの結果、アプリケーションが CustomLoginServlet クラスを使用せずに、フォーム・ベースのログインおよびサーブレット・フィルターを使用することになります。
次のタスク
新規アプリケーションは、フォーム・ベースのログインおよびサーブレット・フィルターを使用して、CustomLoginServlet クラスを置き換えます。サーブレット・フィルターを使用して、
追加の認証、監査およびロギングも行われます。