コード例 #1
0
        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;
        }
コード例 #2
0
		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();
			}
		}
コード例 #3
0
ファイル: frmLogin.cs プロジェクト: huguitosilva1/gisa
		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();
		}