Cosminexus 機能解説
統合ユーザ管理フレームワークを使用したユーザ認証を行う場合,ログイン時にサーブレットやJSPなどでログインモジュールを呼び出す処理を実装します。ログインモジュールを使用するには,JAASのコンフィグレーションファイルの設定が必要です。JAASのコンフィグレーションファイルの設定については,マニュアル「Cosminexus リファレンス 定義編」を参照してください。
JSPの<ua:login/>タグを使用してログインするには,HTTPリクエストオブジェクトに,com.cosminexus.admin.auth.nameパラメタ,およびcom.cosminexus.admin.auth.passwordパラメタが設定されている必要があります。したがって,まず,次に示すようなログイン用のフォームを準備して,パラメタを設定できるようにします。
<html> <body> <form action="auth.jsp" method="post"> <table> <tr> <td>username</td> <td><input type="text" name="com.cosminexus.admin.auth.name" /></td> </tr> <tr> <td>password</td> <td><input type="password" name="com.cosminexus.admin.auth.password" /> </td> </tr> </table> <br /> <input type="submit" value="Login" /> <input type="reset" value="Reset" /> </form> </body> </html> |
次に,<ua:login/>タグを使用して,JAASコンフィグレーションファイルのPortalエントリに記述された認証モジュールを使用してログインします。
<%@ taglib uri="http://cosminexus.com/admin/auth/uatags" prefix="ua" %> <%@ page errorPage="error.jsp" %> <ua:login id="lc" entry="Portal" /> ... |
タグライブラリの仕様によって,タグの処理中に発生した例外は,すべてJspExceptionとなります。<ua:login/>タグの処理中に発生した例外をより細かく検出する場合は,<ua:exception>Body </ua:exception>タグを使用します。次の例では,発生した例外を,検出するJSP(loginError.jsp)に転送しています。
<%@ taglib uri="http://cosminexus.com/admin/auth/uatags" prefix="ua" %> <ua:login id="lc" entry="Portal" excepId="ex" excepScope="session" /> <ua:exception name="ex" ><jsp:forward page="loginError.jsp" /></ua:exception> ... |
例外を検出するJSP(loginError.jsp)では,例外の内容に応じて返すメッセージを選択しています。
<%@ page contentType=”text/html; charset=Shift_JIS” %> <%@ taglib uri=”http://cosminexus.com/admin/auth/uatags” prefix=”ua” %> <html> <body> <ua:exception name="ex" type="javax.security.auth.login.FailedLoginException"> ユーザIDかパスワードが間違っています。<br /> </ua:exception> <ua:exception name="ex" type="javax.security.auth.login.AccountExpiredException"> アカウントの有効期限が切れています。<br /> </ua:exception> <ua:exception name="ex" type="javax.security.auth.login.CredentialExpiredException"> パスワードの有効期限が切れています。<br /> </ua:exception> <ua:exception name="ex" > 例外が発生しました。<br /> <%= e.toString() %><br /> </ua:exception> </body> </html> |
<%@ page contentType=”text/html; charset=Shift_JIS” %> <%@ taglib uri=”http://cosminexus.com/admin/auth/uatags” prefix=”ua” %> ... <ua:notLogin> <a href=”login.html”>ログインしてください。</a> </ua:notLogin> ... |
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.