/// <summary> /// Login準備1(画面生成に必要な最低限の情報を取得する) /// </summary> /// <returns></returns> public List <PX_LANGUAGE> PrepareStartView() { PX_COMMON PX_COMMONData = new PX_COMMON(); string[] syspara = GetDBAccessInfoFromXML(ref PX_COMMONData); //* 事前準備(DBより情報取得) *// // システムDBへの接続 // PJ3SystemConfig(SysPara)の取得 PXLIB.PXCL_dba cnn = null; List <PX_LANGUAGE> LangList = new List <PX_LANGUAGE> { new PX_LANGUAGE("JPN") }; try { // DBへの接続確認 cnn = new PXLIB.PXCL_dba(PXLIB.PXCL_dba.ConnectionSystem, PX_COMMONData); if (cnn.DBConect() != "") { PX_COMMONData.ERRORCODE = "PXERR301"; PX_COMMONData.ERRORMSG = string.Format(ms_dlgErrMsgFormat, PX_COMMONData.ERRORCODE); return(LangList); } cnn.DBClose(); PX_PJ3CONFIG sysParaList = PXLIB.PXCL_com.GetPJ3Config(syspara, ref PX_COMMONData); if (PX_COMMONData.ERRORCODE != "") { PX_COMMONData.ERRORMSG = string.Format(ms_dlgErrMsgFormat, PX_COMMONData.ERRORCODE, PX_COMMONData.ERRORCODE); return(LangList); } LangList = PXLIB.PXCL_com.GetLanguageList(sysParaList.DEFLANG, PX_COMMONData); } catch { PX_COMMONData.ERRORCODE = "PXERR300"; PX_COMMONData.ERRORMSG = string.Format(ms_dlgErrMsgFormat, PX_COMMONData.ERRORCODE); } return(LangList); }
public PX_COMMON UserAuthenticationProcess(string userid, string pass) { // ログイン情報の取得 //* ユーザー認証 *// PX_COMMON PX_COMMONData = new PX_COMMON(); string[] syspara = GetDBAccessInfoFromXML(ref PX_COMMONData); // For Debug Only if (userid == null) { userid = "1600008"; pass = "******"; //userid = "*****@*****.**";pass = "******"; } List <string> passinfo = PXLIB.PXCL_com.GetUserKeyInfo(userid, ref PX_COMMONData); if (PX_COMMONData.ERRORCODE != "") { // エラーメッセージ生成 return(GetErrMessageForDialog("PASSERR-02", PX_COMMONData)); } string nowdateOT = DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss"); string nowdate = DateTime.Today.ToString("yyyyMMdd"); if (passinfo[0].Length == 0) { // 通常のユーザー // 未入力時 if (pass.Trim().Length == 0) { if (passinfo[3] == "YES") { if (passinfo[4].CompareTo(nowdate) < 0) { // 有効期限切れ return(GetErrMessageForDialog("PASSERR - 01", PX_COMMONData)); } } else { return(GetErrMessageForDialog("PASSERR - 01", PX_COMMONData)); } } else { // 入力あり if (pass == passinfo[4]) { if (passinfo[5] != "00000000") { if (passinfo[5].CompareTo(nowdate) < 0) { // 期限切れ return(GetErrMessageForDialog("PASSERR - 02", PX_COMMONData)); } else { if (passinfo[6] != "00000000") { if (passinfo[6].CompareTo(nowdate) < 0) { // 警告なので処理続行 PX_COMMONData = GetErrMessageForDialog("PASSALM - 01", PX_COMMONData); } } } } } else { // パスワードUnMatch return(GetErrMessageForDialog("PASSERR - 01", PX_COMMONData)); } } } else { // *ワンタイムユーザー* // // パスワード未入力 if (pass.Trim().Length == 0) { return(GetErrMessageForDialog("PASSERR - 01", PX_COMMONData)); } else { if (pass == passinfo[0]) { // 有効期限チェック if (passinfo[1] != "") { if (passinfo[1].CompareTo(nowdateOT) < 0) { // 期限切れ return(GetErrMessageForDialog("PASSERR - 02", PX_COMMONData)); } } if (passinfo[2] != "") { if (passinfo[2].CompareTo(nowdateOT) < 0) { // 警告期限切れ(警告なので処理続行) PX_COMMONData = GetErrMessageForDialog("PASSALM-01", PX_COMMONData); } } } else { // パスワードUnMatch return(GetErrMessageForDialog("PASSERR - 01", PX_COMMONData)); } } } // LoginOK PX_COMMONData.DEFCOPTP = passinfo[7]; switch (passinfo[7]) { case "DEF": PX_COMMONData.COPCD = passinfo[8]; break; case "END": PX_COMMONData.COPCD = passinfo[9]; break; default: // ToDo break; } // ユーザーファイル(制御)情報読込み PX_COMMONData = PXLIB.PXCL_com.GetUserCTL(PX_COMMONData); // ユーザーファイル(オプション)情報読込みー今は不要 //PXLIB.PXCL_com.GetUserOPT(PX_COMMONData); // システム情報(ユーザーDB情報) PX_COMMONData = PXLIB.PXCL_com.GetSystemParam(PX_COMMONData); // ユーザーDBへの接続確認 PXLIB.PXCL_dba cnn = new PXLIB.PXCL_dba(PXLIB.PXCL_dba.ConnectionUser, PX_COMMONData); if (cnn.DBConect() != "") { return(GetErrMessageForDialog("SYSERR-00", PX_COMMONData)); } cnn.DBClose(); int mcount = PXLIB.PXCL_com.GetCopMasterCount(PX_COMMONData); if (mcount == 0) { return(GetErrMessageForDialog("SYSERR-00", PX_COMMONData)); } string status = PXLIB.PXCL_com.GetSystemProcessingStatus(PX_COMMONData); switch (status) { case "NOT": return(GetErrMessageForDialog("SYSERR-11", PX_COMMONData)); case "MNT": return(GetErrMessageForDialog("SYSERR-12", PX_COMMONData)); case "000": break; default: return(GetErrMessageForDialog("SYSERR-10", PX_COMMONData)); } PXLIB.PXCL_com.UpdateLoginStatus(PX_COMMONData); return(PX_COMMONData); }