この項目では、フォーム・ログインに関するサンプルを紹介します。
<form method="POST" action="j_security_check"> <input type="text" name="j_username"> <input type="text" name="j_password"> <¥form>
ユーザー名の取得には「j_username」入力フィールドを使用し、ユーザーのパスワードの取得には「j_password」入力フィールドを使用します。
Web クライアントから要求を受信すると、Web サーバーは構成済みの「フォーム」ページをクライアントに送信して、 オリジナルの要求を保存します。 Web サーバーは完成した「フォーム」ページを Web クライアントから受信すると、そのフォームからユーザー名とパスワードを抽出して ユーザーを認証します。 認証が正常に行われると、Web サーバーはオリジナルの要求への呼び出しをリダイレクトします。 認証に失敗した場合は、Web サーバーは構成済みのエラー・ページへの呼び出しをリダイレクトします。
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.0 Transitional//EN"> <html> <META HTTP-EQUIV = "Pragma" CONTENT="no-cache"> <title> Security FVT Login Page </title> <body> <h2>Form Login</h2> <FORM METHOD=POST ACTION="j_security_check"> <p> <font size="2"> <strong> Enter user ID and password: </strong></font> <BR> <strong> User ID</strong> <input type="text" size="20" name="j_username"> <strong> Password </strong> <input type="password" size="20" name="j_password"> <BR> <BR> <font size="2"> <strong> And then click this button: </strong></font> <input type="submit" name="login" value="Login"> </p> </form> </body> </html>
<!DOCTYPE HTML PUBLIC "-//W3C/DTD HTML 4.0 Transitional//EN"> <html> <head><title>A Form login authentication failure occurred</head></title> <body> <H1><B>A Form login authentication failure occurred</H1></B> <P>Authentication may fail for one of many reasons. Some possibilities include: <OL> <LI>The user-id or password may be entered incorrectly; either misspelled or the wrong case was used. <LI>The user-id or password does not exist, has expired, or has been disabled. </OL> </P> </body> </html>
<login-config id="LoginConfig_1"> <auth-method>FORM<auth-method> <realm-name>Example Form-Based Authentication Area</realm-name> <form-login-config id="FormLoginConfig_1"> <form-login-page>/login.html</form-login-page> <form-error-page>/error.jsp</form-error-page> </form-login-config> </login-config>
META-INF META-INF/MANIFEST.MF login.html error.jsp WEB-INF/ WEB-INF/classes/ WEB-INF/classes/aServlet.class
フォーム・ログアウト は、 すべての Web ブラウザー・セッションを閉じることなくログアウトするメカニズムです。 フォーム・ログアウト・メカニズムからログアウト後に、保護されている Web リソースにアクセスするには、再認証が必要です。 この機能は、J2EE 仕様では必須ではありませんが、WebSphere Application Server のセキュリティーの追加機能として提供されています。
フォーム・ログアウトでは、デプロイメント記述子内の属性は必要ありません。 フォーム・ログアウト・ページは、Web アプリケーションに組み込まれている HTML ファイルまたは JavaServer Pages (JSP) ファイルです。 フォーム・ログアウト・ページは、 大部分の HTML フォームに似ていますが、フォーム・ログイン・ページのように、 Web コンテナーによって認識される特別な事後アクションがあるところが違います。 この事後アクションは、Web コンテナーによって、特別な内部フォーム・ログアウト・サーブレットにディスパッチされます。 フォーム・ログアウト・ページの事後アクションは、ibm_security_logout でなければなりません。
ログアウト出口ページは、ログアウト・フォームで指定できます。そして、この 出口ページは、ユーザーがログアウト後にリダイレクトされるのと同じ Web アプリケーション内の HTML または JSP ファイルに表示することができます。 また、ログアウト出口ページでは、http://hostname:port/URL という形式の、 完全修飾 URL が許可されています。 ログアウト出口ページは、フォーム・ログアウト・ページ内のパラメーターとして指定されます。ログアウト出口ページが指定されない場合、デフォルトのログアウト HTML メッセージがユーザーに戻されます。
<!DOCTYPE HTML PUBliC "-//W3C/DTD HTML 4.0 Transitional//EN"> <html> <META HTTP-EQUIV = "Pragma" CONTENT="no-cache"> <title>Logout Page </title> <body> <h2>Sample Form Logout</h2> <FORM METHOD=POST ACTION="ibm_security_logout" NAME="logout"> <p> <BR> <BR> <font size="2"><strong> Click this button to log out: </strong></font> <input type="submit" name="logout" value="Logout"> <INPUT TYPE="HIDDEN" name="logoutExitPage" VALUE="/login.html"> </p> </form> </body> </html>