private void btnLogin_Click(object sender, EventArgs e) { //유효성 검증 if (txtURL.Text == string.Empty) { MessageBox.Show("접속할 서버의 주소가 입력되지 않았습니다"); return; } if (txtAuthKey.Text == string.Empty) { MessageBox.Show("접속을 인증할 보안키가 입력되지 않았습니다"); return; } if (txtUserID.Text == string.Empty) { MessageBox.Show("로그인할 사용자의 ID가 입력되지 않았습니다"); return; } if (txtUserPassword.Text == string.Empty) { MessageBox.Show("로그인할 사용자의 패스워드가 입력되지 않았습니다"); return; } //아이디,주소,보안키,보안타입 저장 if (chStoreServerInfo.Checked) { Settings.Default.serviceURL = txtURL.Text; Settings.Default.authSeed = txtAuthKey.Text; Settings.Default.UserID = txtUserID.Text; Settings.Default.UseSecurityMode = chSecurityMode.Checked; Settings.Default.Save(); } try { frmMain.htpClientLib = Hitpan5ClientLibrary.getInstance(chSecurityMode.Checked, txtURL.Text, txtAuthKey.Text, txtUserID.Text, txtUserPassword.Text); this.DialogResult = DialogResult.OK; } catch (Exception ex) { this.DialogResult = DialogResult.No; } this.Dispose(); }
private void toolStripButton1_Click(object sender, EventArgs e) { // 로그인에 필요한 값을 가져오기 #region 로그인에 필요한 값들 가져오기 bool useSecurityMode = Settings.Default.UseSecurityMode; string ServiceURL = Settings.Default.serviceURL; string SecurityTokenSeed = Settings.Default.SecurityTokenSeed; string id = Settings.Default.UserID; if (id == null || id == string.Empty) { id = tstxtID.Text; } string password = tstxtPassword.Text; #endregion //각 값들에 대한 유효성 검사 #region 각 값들에 대한 유효성 검사 if (ServiceURL == null || !ServiceURL.Contains("http://")) { MessageBox.Show("접속할 서버 주소가 없습니다"); return; } if (SecurityTokenSeed == null || SecurityTokenSeed.Replace(" ", string.Empty) == string.Empty) { MessageBox.Show("서버에서 사용자를 인증할 보안토큰이 설정되지 않았습니다"); return; } if (id == null || id.Replace(" ", string.Empty) == string.Empty) { MessageBox.Show("아이디가 없습니다"); return; } if (password == null || password.Replace(" ", string.Empty) == string.Empty) { MessageBox.Show("패스워드가 없습니다"); return; } #endregion try { //로그인 하기 #region 로그인과 그에 따른 뷰단조정 htpClientLib = Hitpan5ClientLibrary.getInstance(useSecurityMode, ServiceURL, SecurityTokenSeed, id, password); menuMain.Enabled = true; this.MainMenuCollection = new List <object>(); foreach (ToolStripItem tsi in tstripLogin.Items) { MainMenuCollection.Add(tsi); } tstripLogin.Items.Clear(); string welcome = string.Format(" 사용자 : {0} 님 ", id); tstripLogin.Items.Add(welcome); tstripLogin.Items.Add(" "); tstripLogin.Items.Add("| 로그아웃 |"); #endregion #region 로그아웃 이벤트 핸들러 등록 tstripLogin.Items[2].Click += delegate { //로그아웃한 경우의 이벤트 핸들러 htpClientLib.Dispose(); htpClientLib = null; menuMain.Enabled = false; tstripLogin.Items.Clear(); foreach (ToolStripItem tsi in this.MainMenuCollection) { tstripLogin.Items.Add(tsi); } tstxtPassword.Text = ""; }; #endregion #region 현재 사용자의 정보 패널 보여주기(나의 권한 조회,나의 비밀번호 변경) tstripLogin.Items[0].Click += delegate { MessageBox.Show("사용자정보 조회"); }; #endregion } catch (Exception) { #region 로그인 실패시 htpClientLib = null; menuMain.Enabled = false; return; #endregion } #region 로컬 저장소에 저장된 설정들 가져와서 세팅하기 foreach (var prop in typeof(CommonSettings).GetProperties()) { try { object val = htpClientLib.settingInfo[prop.Name]; if (val != null && Convert.ToInt32(val) != 0) { continue; } htpClientLib.settingInfo[prop.Name] = (Enum)Enum.Parse(prop.ReflectedType, Settings.Default[prop.Name].ToString()); } catch (NullReferenceException) { continue; } catch (SettingsPropertyNotFoundException) { continue; } } #endregion //id 저장 #region ID저장 Settings.Default.UserID = id; Settings.Default.Save(); #endregion }