Avatar billede jensjunge Nybegynder
28. april 2005 - 21:27 Der er 1 kommentar

Login med MS Access og char tjek

Vi sidder og roder med et program til et skole projekt. Vi har lige nu problemer med at få logind skærmen til at fungere som vi ønsker, nemlig at der skal være mulighed for at logge på med forskellige brugere der så får forskellige rettigheder inde i selve programmet. Kodeordet og bruger ønsker tjekket ved hjælp af en MS access database.

Vores nuværende kode ser ud som følger

[quote]
        private void Btnlogindlogind_Click(object sender, System.EventArgs e)
        {
            string Brugernavn = TxtboxLogIndBrugernavn.Text;
            string Kodeord;
           
            if (TxtboxLogIndBrugernavn.Text != "" && TjekInputForNummer(TxtboxLogIndBrugernavn.Text) == true)
            {

                string sql = "select * from Ansatte where MedarbejderId = " + TxtboxLogIndBrugernavn.Text;
                OleDbCommand kommando = new OleDbCommand(sql,oleDbConnection1);
                oleDbConnection1.Open();
                OleDbDataReader myReader = kommando.ExecuteReader();
           
                if (myReader.HasRows)
                {
                    while (myReader.Read())
                    {
                        Kodeord = myReader.GetString(11);
                    }
                }
                else
                {
                    MessageBox.Show("Brugernavn findes ikke");
                }

                if (Kodeord == TxtboxLogIndPassword.Text)
                {
                    //Laver ny instans af Ekspedient
                    Ekspedient Eks = new Ekspedient();
                    //Definere Logind som ejer ("moder") til Ekspedient
                    Eks.Owner = this;
                    //Viser Ekspedient
                    Eks.Show();
                    //Skjuler Logind
                    this.Visible = false;
                }
                else
                {MessageBox.Show("Kodeord er ikke korrekt");}
               
                myReader.Close();
                oleDbConnection1.Close();
            }
            else
            {MessageBox.Show("Kodeord er ikke korrekt");}
           
        }

               


               

       
   
           
        private bool TjekInputForNummer(string tekst) //Betyder at den skal kaldes med en værdi af typen "string"
        {
            //En variabel der gemmer længden af den tekst-streng der skal undersøges
            int length = tekst.Length;
            // I er en simpel tæller-var.
            int i;
            //Løkken skal køre fra 0, til den længde tekststrengen har
            //Derved løber den igennem alle tal/bogstaver i strengen og tjekker deres værdi
            for (i=0;i<length;i=i+1)
            {
                // Hvis funktionen Char.IsNumber (indbygget funktion) returnere falsk for bare EN af
                // tallene/bogstaverne i stregen skal hele funktionen returnere falsk
                if (Char.IsNumber(tekst[i]) == false)
                {
                    return false;
                }
            }
            //Hvis strengen er OK (Dvs. ingen bogstaver eller lign.) skal funktionen returnere true
            //Da der så er tale om en tal-streng
            return true;
        }
[/quote]
Avatar billede anri Novice
01. maj 2005 - 01:16 #1
Jeg ved ikke helt om jeg forstår spørgsmålet..
Jeg har selv lavet noget lignende og der laver jeg bare en "SELECT Navn From Ansatte Where MedarbejderID = [brugernavn] and password=[password]"

Hvis der så er en record, så findes den pågldende bruger, og så kan du jo helte rettigheder fra en anden tabel.

Personligt kan jeg bedst lide at bruge en HASH i stedet for det ukrypterede password.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester