Avatar billede mikkel251 Seniormester
19. april 2017 - 13:21 Der er 10 kommentarer

Session tjek virker ikke ved login

Hej eksperter.
Jeg skal lave et tjek på om Session["id"] findes når man logger ind så jeg har i admin mappen en master side der tjekker om den findes eller ej, men det virker ikke, jeg bliver ikke sendt tilbage til forsiden hvis der ikke er en session, men hvis der er en session så logger jeg fint ind, og jeg kan ikke lige finde fejlen, jeg har prøvet mig frem med et par forskellige metoder for at hente id på den bruger der logger ind, og jeg har prøvet at lave session om til brugernavn istedet for id, men lige meget hvad jeg gør så er det samme resultat...

jeg får denne her fejl.
There is no row at position 0.

admin mappen - masterpage
  if (Session["id"] == null)
            {
              Response.Redirect("~/Default.aspx");
            }



metode til at finde id med så session["id"] kan oprettes

  public DataRow HentBruger()
    {
        cmd = new SqlCommand("SELECT * FROM CmsBrugere WHERE fldBrugernavn=@brugernavn");
        cmd.Parameters.AddWithValue("@brugernavn", _brugernavn);
        return DA.GetData(cmd).Rows[0];
    }
Avatar billede arne_v Ekspert
19. april 2017 - 17:09 #1
Fejlen skyldes vel at der ikke findes nogen raekker saa .Rows[0] duer ikke.
Avatar billede arne_v Ekspert
19. april 2017 - 17:10 #2
Helt generelt: hvorfor bruger du ikke en standard ASP.NET membership provider?
Avatar billede mikkel251 Seniormester
07. maj 2017 - 18:33 #3
Det er jeg ikke helt klar over hvad er ?
Avatar billede mikkel251 Seniormester
07. maj 2017 - 19:23 #4
Jeg fik kigget på ASP.NET membership provider og det vil jeg da lige få prøvet af ?
Avatar billede arne_v Ekspert
07. maj 2017 - 23:50 #5
Du faar ret meget funktionalitet foraeret ved at bruge det.
Avatar billede mikkel251 Seniormester
08. maj 2017 - 11:40 #6
Det tror jeg gerne, nu vil jeg ihvertfald se om jeg ikke kan lære at bruge det. :)

Hvad er det som den gør tilforhold til det jeg prøvede at gøre med min kode ?
Avatar billede arne_v Ekspert
08. maj 2017 - 15:26 #7
Membership provider giver dig:
1) storage af usename/password
2) check af username/password kombination
3) haandtering af glemt password
4) login kontrol lige til at bruge
5) integration med web services

#1 har du sikkert, men du boer foele dig mere tryg ved en anerkendt loesning som ASP.NET membership provider.

#2 har du sikkert, men ASP.NET kan enforce den for den relevante del af web applikation deklarativt og dermed undgaar du at skulle lave en masse kode og risikere at glemme det et sted.

#3 tvivler jeg paa at du har.

#4 har du sikkert, men du kan spare noget kode her.

#5 igen langt nemmere med noget indbygget.

PS: det er ved at vaere mange aar siden jeg kiggede paa ASP.NET membership provider, saa forbehold tages for svigtende hukommelse.
Avatar billede mikkel251 Seniormester
08. maj 2017 - 16:32 #8
det er da meget bedre at bruge den så en det jeg har, den skal jeg helt sikkert have kigget mere på :D

og så må vi se hvor meget den har ændret sig siden du har brugt den ;)

hvad koder du i, idag?
Avatar billede arne_v Ekspert
08. maj 2017 - 16:38 #9
Nu om dage skriver jeg en lille smule Java og C# i min fritid i forbindelse med at hjaelpe her paa Eksperten eller paa usenet eller til noget artikel eller open source som jeg publicerer.

Men en membership provider er ikke saa naturlig i den sammenhaeng.

Arbejdsmaessigt programmerer jeg mest i Visio og PowerPoint idag. :-) :-) :-)
Avatar billede mikkel251 Seniormester
09. maj 2017 - 09:20 #10
Det lyder spænende det du laver. :) :)
findes der ikke noget ligesom membership provider til pageing og routing??
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

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