public override void ViewToModel() { IsPopulated = false; if (CurrentTrusteeRow == null || CurrentTrusteeRow.RowState == DataRowState.Detached || !IsLoaded) { return; } base.ViewToModel(); if (CurrentTrusteeRow.GetTrusteeUserRows().Length > 0) { // LDAP GISADataset.TrusteeUserRow turow = CurrentTrusteeRow.GetTrusteeUserRows()[0]; turow.IsLDAPUser = chkLDAP.Checked; CurrentTrusteeRow.GetTrusteeUserRows()[0].FullName = txtFullName.Text; if (!(txtPassword.Text.Equals(mOriginalPasswd)) && !(txtPassword.Text.Length == 0)) { CurrentTrusteeRow.GetTrusteeUserRows()[0].Password = CryptographyHelper.GetMD5(txtPassword.Text); } CurrentTrusteeRow.GetTrusteeUserRows()[0].IsAuthority = chkAuthority.Checked; } CurrentTrusteeRow.IsActive = chkActive.Checked; IsPopulated = true; }
private void btnOk_Click(object sender, System.EventArgs e) { if (! (SessionHelper.GetGisaPrincipal().TrusteeUserOperator.Password.Equals(txtNovaPalavraChave.Text))) { SessionHelper.GetGisaPrincipal().TrusteeUserOperator.Password = CryptographyHelper.GetMD5(txtNovaPalavraChave.Text); GISA.Model.PersistencyHelper.save(); GISA.Model.PersistencyHelper.cleanDeletedData(); } }
private void btnAccept_Click(object sender, System.EventArgs e) { // A 1ª instancia demora sempre mais tempo, é necessário carregar uma série de dados this.Cursor = Cursors.WaitCursor; GISADataset ds = GisaDataSetHelper.GetInstance(); this.Cursor = Cursors.Arrow; if (ds == null) { MessageBox.Show("A base de dados não se encontra disponível, por favor " + Environment.NewLine + "contacte o administrador de sistema.", "Acesso à base de dados", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } frmMain main = null; try { string username = txtUser.Text.Replace("'", "''"); string assemblyVersion = null; string modules = string.Empty; foreach(GISADataset.ModulesRow mRow in SessionHelper.AppConfiguration.GetCurrentAppconfiguration().Modules) { modules += mRow.ID + ","; } modules = modules.TrimEnd(','); assemblyVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().FullName; // Validar utilizador TrusteeRule.IndexErrorMessages messageIndex = TrusteeRule.IndexErrorMessages.InvalidUser; // Carregar o utilizador GISADataset.TrusteeUserRow tuRow = null; tuRow = LoadCurrentOperator(username); // LDAP Authentication string ldapServerName = SessionHelper.AppConfiguration.GetCurrentAppconfiguration().LDAPServerName; string ldapSettings = SessionHelper.AppConfiguration.GetCurrentAppconfiguration().LDAPServerSettings; if (ldapServerName != null && tuRow != null && tuRow.IsLDAPUser) { LDAPHandler ldapH = new LDAPHandler(ldapServerName, ldapSettings, username, txtPassword.Text); ldapH.ConnectToLDAP(); if (ldapH.IsLoggedIn) { messageIndex = 0; } else { messageIndex = TrusteeRule.IndexErrorMessages.InvalidUser; } } else { messageIndex = Trustee.validateUser(username, CryptographyHelper.GetMD5(txtPassword.Text)); } //verificar se ocorreu algum erro no processo de login if (messageIndex != 0) { GUIHelper.GUIHelper.MessageBoxLoginErrorMessages(Convert.ToInt32(messageIndex)); throw new LoginException(); } // Adicionar o GisaPrincipal System.Threading.Thread.CurrentPrincipal = new GisaPrincipal(tuRow); if (SessionHelper.GetGisaPrincipal().TrusteePrivileges.Rows.Count == 0) { GUIHelper.GUIHelper.MessageBoxLoginErrorMessages(Convert.ToInt32(DBAbstractDataLayer.DataAccessRules.TrusteeRule.IndexErrorMessages.UserWithoutPermissions)); throw new LoginException(); } main = new frmMain(username); } catch (LoginException) { return; } catch (Exception ex) { Trace.WriteLine(ex); MessageBox.Show("Ocorreu um erro durante o processo de início da sessão, " + Environment.NewLine + "por favor contacte o administrador de sistema.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); return; } this.Hide(); main.ShowDialog(); this.Close(); }