帳票システム構築支援 uCosminexus EUR uCosminexus EUR Print Manager 帳票出力
ユーザーの認証情報(蓄積管理ユーザ名と確認キー)を業務アプリケーションと蓄積管理GUIとで連携させることで,[蓄積管理ユーザの設定]画面の表示を省略できます。これにより,蓄積管理GUIを利用するたびに,蓄積管理ユーザ名および確認キーを入力する手間を省けます。
ユーザーの認証情報の連携には,ブラウザのCookieを使用します。ユーザーの認証情報を,業務アプリケーションと蓄積管理GUIとで連携させたときのシステムの利用イメージを,次の図に示します。
図3-2 ユーザーの認証情報を連携させたときのシステムの利用イメージ
システムへのログイン時に入力した,ユーザーIDやパスワードなどの認証情報を,ブラウザのCookieに保存しておきます。蓄積管理GUIの起動時に,Cookieに保存された認証情報を読み込み,蓄積管理ユーザとして設定します。これにより,蓄積管理ユーザ名および確認キーを入力することなく,蓄積管理GUIを利用できます。
次のどちらかの方法で,システムへのログイン時に入力するユーザーの認証情報をCookieのNAMEパラメタに設定する仕組みを準備します。
ユーザーの認証情報を設定するCookieのNAMEパラメタを次の表に示します。
表3-1 ユーザーの認証情報を設定するCookieのNAMEパラメタ
| 項番 | パラメタ名 | データ型 | 説明 |
|---|---|---|---|
| 1 | EURPM_UserName | String | 蓄積管理ユーザ名を80バイト以内で指定します。制御コード(0x00〜0x1F,0x7F〜0x9F),「"」,および「,」は指定できません。 80バイトを超えて指定した場合は,デフォルト蓄積管理ユーザとして動作します。 |
| 2 | EURPM_CheckString | String | 蓄積管理ユーザ名に対応する確認キーを,80バイト以内で指定します。制御コード(0x00〜0x1F,0x7F〜0x9F),「"」,および「,」は指定できません。 EURPM_CheckStringパラメタは,EURPM_UserNameパラメタが指定されている場合だけ有効になります。 80バイトを超えて指定した場合は,デフォルト蓄積管理ユーザとして動作します。 |
| 3 | EURPM_DefaultUserFlg | String | 蓄積管理ユーザとしてデフォルト蓄積管理ユーザを設定する場合に,「YES」と指定します。 EURPM_DefaultUserFlgパラメタは,EURPM_UserNameパラメタが指定されていないときだけ有効になります。 「YES」以外の値を指定した場合,または値を指定しなかった場合は,[蓄積管理ユーザの設定]画面が表示されます。 |
なお,CookieのNAMEパラメタに値を設定するときは,URLエンコードを実施してください。URLエンコードを実施しないと,蓄積管理ユーザ名および確認キーを正しく設定できません。
蓄積管理ユーザ名と確認キーをCookieに設定するコーディング例を次に示します。
ログインフォームから送信された蓄積管理ユーザ名(UserName)と確認キー(CheckString)を取得し,Cookieとして保存します。
public void doGet(HttpServletRequest req, HttpServletResponse res)
throws IOException, ServletException{
res.setContentType("text/html; charset=UTF-8"); // エンコード方式
req.setCharacterEncoding("UTF-8"); // エンコード方式
// 蓄積管理ユーザ名を取得する
String strUserName = req.getParameter("UserName");
// 確認キーを取得する
String strPassword = req.getParameter("CheckString");
// Cookieに保存する値をURLエンコードする
String strEncUser = URLEncoder.encode(strUserName , "UTF-8");
String strEncPass = URLEncoder.encode(strPassword , "UTF-8");
// 蓄積管理ユーザ名のCookieのNAMEパラメタを作成する
Cookie ckEURPMUser = new Cookie("EURPM_UserName " , strEncUser);
// 蓄積管理ユーザ名のCookieを保存する
res.addCookie(ckEURPMUser);
// 確認キーのCookieのNAMEパラメタを作成する
Cookie ckEURPMCheck = new Cookie("EURPM_CheckString " , strEncPass);
// 確認キーのCookieを保存する
res.addCookie(ckEURPMCheck);
}
}
[Cookie書き込み]ボタンをクリックすると,[蓄積管理ユーザ名]テキストボックスおよび[確認キー]テキストボックスに入力した値がCookieに書き込まれます。
<HTML>
<HEAD>
<TITLE>Cookieの設定例</TITLE>
</HEAD>
<BODY><SCRIPT language="JavaScript">
<!--
// --==*==-- --==*==-- --==*==-- --==*==-- --==*==--
// Cookieへの書き込み
// 引数:kword=キーワード kdata=データ
// --==*==-- --==*==-- --==*==-- --==*==-- --==*==--
function CookieWrite(kword, kdata)
{
// Cookieに保存する値をURLエンコードして保存する
document.cookie = kword + "=" + encodeURIComponent (kdata)";
}
//-->
</SCRIPT>
<P>Cookieの設定例</P>
<FORM name="cookie01">キーワード<BR>
蓄積管理ユーザ名 = <INPUT size="20" type="text" name="dat">
<BR>
確認キー = <INPUT size="20" type="text" name="dat">
<BR>
<INPUT type="button" value="Cookie書き込み"
onclick='CookieWrite("EURPM_UserName",dat[0].value,1);'
'CookieWrite("EURPM_CheckString",dat[1].value,1);'>
<BR>
</FORM>
</BODY>
</HTML>
All Rights Reserved. Copyright (C) 2009, 2011, Hitachi, Ltd.
All Rights Reserved. Copyright (C) 2009, 2011, Hitachi Solutions, Ltd.