WebSphere Application Server - Express, Version 6.0.x   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows

             目次と検索結果のパーソナライズ化

例: フォーム・ログイン

この項目では、フォーム・ログインに関するサンプルを紹介します。

認証を適切に進めるためには、ログイン・フォームのアクションが常に j_security_check アクションになっていなければなりません。以下の例は、フォームを HTML ページにコーディングする方法を示しています。
<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 サーバーは構成済みのエラー・ページへの呼び出しをリダイレクトします。

以下に、HTML のログイン・ページ (login.html) の例を挙げます。
<!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>
The following example depicts an error page in a JSP file:
<!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>
アセンブラーが、形式ベースの認証を使用するように Web アプリケーションを構成した後には、デプロイメント記述子に 以下に示すログイン構成が含まれます。
<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>
上記のログイン構成のログイン・ページとエラー・ページを示す Web アプリケーション・アーカイブ (WAR) ファイル・ディレクトリー構造の例は、次のようになります。
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 アプリケーションにログインし、アクションを実行した後、 ログアウトする場合を想定します。 フォーム・ログアウトは、 次のように行われます。
  1. ログアウト・フォーム URI が Web ブラウザーで指定され、フォームをロードします。
  2. ユーザーは、フォームの「実行依頼」をクリックしログアウトします。
  3. WebSphere セキュリティー・コードにより、ユーザーがログアウトします。
  4. ログアウト後、ユーザーは、ログアウト出口ページにリダイレクトされます。

フォーム・ログアウトでは、デプロイメント記述子内の属性は必要ありません。 フォーム・ログアウト・ページは、Web アプリケーションに組み込まれている HTML ファイルまたは JavaServer Pages (JSP) ファイルです。 フォーム・ログアウト・ページは、 大部分の HTML フォームに似ていますが、フォーム・ログイン・ページのように、 Web コンテナーによって認識される特別な事後アクションがあるところが違います。 この事後アクションは、Web コンテナーによって、特別な内部フォーム・ログアウト・サーブレットにディスパッチされます。 フォーム・ログアウト・ページの事後アクションは、ibm_security_logout でなければなりません。

ログアウト出口ページは、ログアウト・フォームで指定できます。そして、この 出口ページは、ユーザーがログアウト後にリダイレクトされるのと同じ Web アプリケーション内の HTML または JSP ファイルに表示することができます。 また、ログアウト出口ページでは、http://hostname:port/URL という形式の、 完全修飾 URL が許可されています。 ログアウト出口ページは、フォーム・ログアウト・ページ内のパラメーターとして指定されます。ログアウト出口ページが指定されない場合、デフォルトのログアウト HTML メッセージがユーザーに戻されます。

フォーム・ログアウト 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>

WebSphere Application Server サンプル・ギャラリーは、WebSphere Application Server ログイン機構をどのように使用して フォーム・ログイン手順のインプリメントと構成を行うかを示すフォーム・ログイン・サンプルを提供します。 このサンプルは、 次のテクノロジーを統合して、WebSphere Application Server および Java 2 Platform, Enterprise Edition (J2EE) のログイン機能について例示します。 フォーム・ログイン・サンプルはテクノロジー・サンプル・パッケージに 入っています。



関連概念
サンプルへのアクセス
関連タスク
Web アプリケーション・ログインのカスタマイズ
参照トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 11:31:28 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r0/index.jsp?topic=/com.ibm.websphere.express.doc/info/exp/ae/xsec_formlogin.html