<%@ page language = "java" contentType="text/html; charset=Windows-31J" pageEncoding="Windows-31J" %> <% jp.co.nttdata.iproject.util.WarpHttpServletRequest warpRequest = new jp.co.nttdata.iproject.util.WarpHttpServletRequest(request);%> <%@ page import="java.util.*" %> <%@ page import="java.text.*" %> <%@ page import="jp.co.nttdata.iproject.app.lgnc.ZCustomerIf" %> <%@ page import="jp.co.nttdata.iproject.app.lgnc.ctrl.WEntranceParameterCheck" %> <%@ page import="jp.co.nttdata.iproject.app.mrsh.view.ZDairitenInfoUser" %> <%@ page import="jp.co.nttdata.iproject.asp.view.ZAspView" %> <%@ page import="jp.co.nttdata.iproject.util.ZUrlDomain" %> <%@ page import="jp.co.nttdata.iproject.util.ZBatchLog" %> <%@ page import="jp.co.nttdata.iproject.util.ZteeLog" %> <%@ page import="jp.co.nttdata.iproject.util.ZLocalHost" %> <%@ page import="jp.co.nttdata.iproject.app.comn.ctrl.ZKyodoUtil" %> <%@ page errorPage="/ZCommonErrorPage.jsp" %> <%@ include file="/GetParameters.jsp" %> <%@ include file="/cacheClear.jsp" %> <% ZteeLog teeLog = new ZteeLog(this); String aspGroupId = (String)request.getParameter("aspGroupId"); if ( aspGroupId == null || aspGroupId.length() == 0 ) { aspGroupId = ZAspView.ASPGROUP_NIF; } //System.out.println("aspGroupId=[" + aspGroupId + "]"); if ("00000021".equals(aspGroupId) || "00000026".equals(aspGroupId) || "00000004".equals(aspGroupId) || "00000034".equals(aspGroupId) || "00000022".equals(aspGroupId) || "00000023".equals(aspGroupId) || "00000081".equals(aspGroupId) || "00000082".equals(aspGroupId) || "00000024".equals(aspGroupId) || "00000080".equals(aspGroupId) ) { pageContext.forward("/serviceOff.html"); return; } SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHH"); GregorianCalendar now = new GregorianCalendar(); String today = formatter.format(now.getTime()); if (ZAspView.ASPGROUP_EON.equals(aspGroupId)) { if ( "regist".equals(lgnc_cust.getValue("operation")) ) { lgnc_cust.setValue("operation", "spnRegist"); } else if ( "logon".equals(lgnc_cust.getValue("operation")) ) { lgnc_cust.setValue("operation", "spnLogon"); } } // 登録、または、ログイン画面に遷移する前にSessionを破棄する。 // 破棄する前にSessionに格納されている破棄されては困るデータを取り出し、 // 遷移先のURLにパラメータで付加する。 // DEBUG boolean debug = true; // 遷移先URLを設定する。 StringBuffer nextUrl= new StringBuffer(); // トップのURLをサーバ名から取得する。 nextUrl.append(ZUrlDomain.getSSLProtocol(request)); nextUrl.append(ZUrlDomain.getDomainString(request)); String route ; if (ZKyodoUtil.isKyodoAspGroupId(aspGroupId)) { String webKigyoUrlKey = ZKyodoUtil.getTandokuKigyoUrlKeyWeb(); // aspViewの生成と保存 ZAspView aspView = new ZAspView(aspGroupId); lgnc_cust.setAspView(aspView); ZDairitenInfoUser dairitenInfo = lgnc_cust.getDairitenInfo(); String dairitenInfoFlag = (String)request.getParameter("dairitenInfoFlag"); teeLog.log("★★★★★ dairitenInfoFlag=[" + dairitenInfoFlag + "]"); if ("1".equals(dairitenInfoFlag)) { //代理店情報有効範囲からのアクセス? if (dairitenInfo != null) { //代理店情報設定済み? Map kigyoMap = dairitenInfo.getMapKigyoInfo(); teeLog.mapLog("kigyoMap",kigyoMap,C_LOG_KIGYO_MAP_ITEM); webKigyoUrlKey = (String)kigyoMap.get("WEBKIGYOURLKEY"); } } //共同募集の画面遷移(MRSエントランスサーブレットへリダイレクト) nextUrl .append("/") .append(ZKyodoUtil.getTandokuUrlPatternWeb(aspGroupId)) .append("/") .append(webKigyoUrlKey) ; route = "1"; //共同募集・イフTOPからの起動をメモする } else { nextUrl.append("/lgnc/WLGNC0_1CustomerEntrance.jsp"); if ( !ZAspView.ASPGROUP_EON.equals(aspGroupId) ) { route = null; } else { route = lgnc_cust.getValue("route"); } } /** パラメータチェック START **/ WEntranceParameterCheck entranceParameterCheck = new WEntranceParameterCheck(); if (!entranceParameterCheck.parameterCheck(lgnc_cust, request)) { // セッション上の顧客情報をクリア session.setAttribute(ZCustomerIf.CUSTOMER_VIEW, null); throw new Exception("meprm000"); } /** パラメータチェック END **/ nextUrl.append("?business=" + lgnc_cust.getValue("business")); nextUrl.append("&operation=" + lgnc_cust.getValue("operation")); nextUrl.append("&channel=" + lgnc_cust.getValue("channel")); nextUrl.append("&gateway=" + lgnc_cust.getValue("gateway")); nextUrl.append("&gatewayurl=" + lgnc_cust.getValue("gatewayurl")); nextUrl.append("&campaignno=" + lgnc_cust.getValue("campaignno")); nextUrl.append("&suid=" + lgnc_cust.getValue("suid")); nextUrl.append("&aspGroupId=" + aspGroupId); nextUrl.append("&EASY_HIKAKU_USER=" + lgnc_cust.getValue("EASY_HIKAKU_USER")); // ASP=RLSの場合、RECRUITID(URLkey名hexdigest)をログ出力(パラメータチェックでエラーにしないので注意) // URLパラメータに付加して、セッション引き継を行う if (ZAspView.ASPGROUP_RLS.equals(aspGroupId)) { String hexdigest = lgnc_cust.getValue("hexdigest"); teeLog.log("hexdigest(RLS only)=["+ hexdigest +"]"); // カラム長より長い値が連携された場合、値をカットして登録する(2015/10/21現在200バイト) if ( hexdigest.getBytes("UTF-8").length > 200 ) { hexdigest = new String(hexdigest.getBytes("UTF-8"), 0, 200, "UTF-8"); teeLog.log("Cut out hexdigest at 200 bytes=["+ hexdigest +"]"); } nextUrl.append("&hexdigest=" + hexdigest); String sid = lgnc_cust.getValue("s_rid"); nextUrl.append("&s_rid=" + sid); Cookie cookie = new Cookie("s_rid", sid); cookie.setPath("/"); //パス(path) //セキュア設定(secure) String serverName = ZLocalHost.getServerName(); if ("(EVA)".equals(serverName) || "(IFW)".equals(serverName)) { cookie.setSecure(true); cookie.setDomain(".nttif.com"); //ドメイン名(domain) } else { cookie.setSecure(false); } cookie.setMaxAge(730 * 24 * 60 * 60); //有効期限2年に設定 response.addCookie(cookie); } // ASP=HMGの場合、必要情報をURLパラメータに付加して、セッション引き継を行う if (ZAspView.ASPGROUP_HMG.equals(aspGroupId)) { String reDirectKey = lgnc_cust.getValue("reDirectKey"); if (reDirectKey != null && reDirectKey.length() > 0) { nextUrl.append("&reDirectKey=" + reDirectKey); teeLog.log("reDirectKey=["+ reDirectKey +"]"); } } // ASP=IITの場合、必要情報をURLパラメータに付加して、セッション引き継を行う if(ZAspView.ASPGROUP_IIT.equals(aspGroupId)){ String reDirectKey = lgnc_cust.getValue("reDirectKey"); if (reDirectKey != null && reDirectKey.length() > 0) { nextUrl.append("&reDirectKey=" + reDirectKey); teeLog.log("reDirectKey=["+ reDirectKey +"]"); } } if (route != null) { nextUrl.append("&route=" + route); } String shopId = lgnc_cust.getValue("shopId"); if( shopId != null && shopId.length() > 0 ) { nextUrl.append( "&shopId=" + shopId ); } String directFlg = lgnc_cust.getValue("directFlg"); if( directFlg != null && directFlg.length() != 0 ) { nextUrl.append( "&directFlg=" + directFlg ); } //(added 2008.08) サブドメイン導線追加につき遷移元を保持 String subDomain = lgnc_cust.getValue("subDomain"); if( subDomain != null && subDomain.length() != 0 ) { nextUrl.append( "&subDomain=" + subDomain ); } teeLog.log("=>subDomain : " + subDomain); String iwbhno = lgnc_cust.getValue("iwbhno"); if (iwbhno != null && iwbhno.length() > 0) { nextUrl.append( "&iwbhno=" + iwbhno ); } if(debug)System.out.println("************************* DEBUG START *************************"); if(debug)System.out.println("WLGNC0_0CustomerEntrance.jsp=>sessionId : " + session.getId()); if(debug){ Enumeration enum2 = session.getAttributeNames(); while(enum2.hasMoreElements()) { String keyName = (String)enum2.nextElement(); System.out.println("WLGNC0_0CustomerEntrance.jsp=>session info : " + keyName + "=" + session.getAttribute(keyName)); } } if(debug)System.out.println("WLGNC0_0CustomerEntrance.jsp=>lgnc data : " + lgnc_cust.getInputDataContener()); if(debug)System.out.println("WLGNC0_0CustomerEntrance.jsp=>nextUrl : " + nextUrl.toString()); if(debug)System.out.println("************************* DEBUG END *************************"); // クライアントがセッションに参加していない状態でセッションクリアすることはできないので、 // セッションに参加しているかチェックをして参加している場合のみセッションをクリアする。 // 補足:クライアントがセッションに参加しているかチェックする方法 // session.isNew() == true : クライアントがセッションに参加していない状態(ここで初めてセッションを作成した場合) // session.isNew() == false : クライアントがセッションに参加している状態(すでにセッションが別のところで作成されている場合) if (session.isNew()) { // クライアントがセッションに参加していない状態なので、セッションは破棄しない。 if(debug)System.out.println("WLGNC0_0CustomerEntrance.jsp=>Session does not exist"); } else { // クライアントがセッションに参加している状態なので、セッションを破棄する。 if(debug)System.out.println("WLGNC0_0CustomerEntrance.jsp=>Session exist"); session.invalidate(); } // リダイレクトする // forward()だと、セッションを破棄することができないのでリダイレクトを使用。 response.sendRedirect(nextUrl.toString()); %> <%! private static final String[] C_LOG_KIGYO_MAP_ITEM = {"DAIRITENID","DANTAIID","KIGYOID","WEBUMU"}; %>