Avatar billede migselv999 Nybegynder
03. marts 2009 - 21:35 Der er 7 kommentarer og
1 løsning

Asp.NET C# login

Hey eksperter..

Jeg sidder og er ved at lave et login i C#
Dette login indeholder både login til kunder og login til admins, alt i samme login..

Jeg sidder og roder med en fejl som jeg ikke kan gennemskue, så håber på nogle af jer herinde kan..

Koden:

protected void Button_login_Click1(object sender, EventArgs e)
    {
        SqlConnection Conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnString"].ToString());
        SqlCommand cmd = new SqlCommand("SELECT * FROM [Kunder] WHERE brugernavn = @brugernavn AND password = @password", Conn);

        cmd.Parameters.Add(new SqlParameter("@brugernavn", TextBox_brugernavn.Text));
        cmd.Parameters.Add(new SqlParameter("@password", TextBox_password.Text));

        Conn.Open();
        SqlDataReader reader = cmd.ExecuteReader();
*FEJL* ---> if (reader.read())
        {
            ession["IsUser"] = true;
            Session["BrugerID"] = Convert.ToInt64(reader["id"]);
            Session["Admin"] = Convert.ToBoolean(reader["admin"]);
            if (Convert.ToBoolean(Session["admin"]))
            {
                Response.Redirect("admin/Admin_forside.aspx");
            }
            else
            {
                Response.Redirect("Kundelogin.aspx");
            }
        }
        else
        {
            Response.Write("forkert kode eller brugernavn");
        }
        reader.Close();
        Conn.Close();
    }

Fejlen opstår i if (reader.read())

Håber i kan hjælpe !

På forhånd Tak
Avatar billede migselv999 Nybegynder
03. marts 2009 - 21:36 #1
Det skal siges at jeg er rimelig noob til Asp.NET og C#
Avatar billede keysersoze Guru
03. marts 2009 - 22:16 #2
ASP.NET har en indbygget "membershipprovider" - med den får du et helt bruger/rolle system foræret. Så tag et kig på det og slip for en masse problemer.
Avatar billede migselv999 Nybegynder
03. marts 2009 - 22:21 #3
Planen var lidt at undgå netop Membership provideren..

Jeg syntes det ville være en hel del sejere at lave det selv ;)
Avatar billede jimmydk Nybegynder
03. marts 2009 - 23:55 #4
if (reader.read()) skal være if (reader.Read())

og

{
            Session["IsUser"] = true;
            Session["BrugerID"] = Convert.ToInt64(reader["id"]);
            Session["Admin"] = Convert.ToBoolean(reader["admin"]);
            if (Convert.ToBoolean(Session["admin"]))
            {
                Response.Redirect("admin/Admin_forside.aspx");
            }
            else
            {
                Response.Redirect("Kundelogin.aspx");
            }
        }
Håber det er nok ellers må du skrive igen :)
Avatar billede migselv999 Nybegynder
04. marts 2009 - 00:05 #5
Ser du det gjorde hele forskellen...

Mange tak...

Smid svar
Avatar billede jimmydk Nybegynder
04. marts 2009 - 00:22 #6
Svar :)
Avatar billede keysersoze Guru
04. marts 2009 - 19:18 #7
med al respekt kan jeg ikke se det seje i at genopfinde den dybe tallerken - det er tværtimod spild af tid og man slipper for at bekymre sig om sikkerhedsissues og test bare for at nævne lidt.
Avatar billede migselv999 Nybegynder
05. marts 2009 - 08:11 #8
nu er det lige så meget for at lære hvordan tingene hænger sammen, da jeg er rimelig ny til Asp.NET og C#
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