Avatar billede 0ffline Nybegynder
27. januar 2004 - 18:50 Der er 11 kommentarer og
1 løsning

Vis mig dit loginscript

Hej

Er efterhånden kørt så surt i DreamWeavers svar på et loginscript.
Findes der en bruger derude som kunne tænke sig at vise mig sit loginscript.
Scriptet skal helst være meget simpelt, så jeg efterhånden selv begynder at kunne forstå opbygningen af ASP.

Det jeg søger helt præcis er et login der minder meget om et eaqleeye har smidt her på E.
Det skal selvfølgelig tjekke på om brugernavn og password passer, men også om det er første gang man logger ind.

Hvis det er første gang skal man komme til en side hvor man skal ændre sig password..
OK, det lyder ikke meget simpelt, men jeg håber nu alligevel at der er 1 derude som har noget ligende, som vil lade mig smugkigge :)

/0ffline
Avatar billede keysersoze Ekspert
27. januar 2004 - 18:52 #1
Avatar billede 0ffline Nybegynder
27. januar 2004 - 19:01 #2
Fint link, men umiddelbart er det bare en alm. login som udelukkende tjekker på brugernavn og password. Der mangler ligesom den 3. faktor om det er første gang man overhovedet logger ind. Ved ikke om jeg har formuleret mig forkert, når jeg skriver at det skal tjekke om det er føste gang. Med det mener jeg aller aller første gang.
Avatar billede 0ffline Nybegynder
27. januar 2004 - 19:03 #3
Login skal bruges til en lille sammenslutning af venner, hvor alle som udgangspunkt har fået forskellige brugernavne, men det samme password. Dette skal vi selv ændre første gang vi logger ind
Avatar billede keysersoze Ekspert
27. januar 2004 - 19:09 #4
Det læste jeg godt i din beskrivelse - men ovenstående er nok det jeg kender der kommer tættest på. For at få den 3. faktor med skal der nok hen og håndkodes lidt selv.
Avatar billede websam Nybegynder
27. januar 2004 - 19:22 #5
Når du i din record i databasen sætter username og password kan du jo vælge at benytte det unikke id der er for hver af dine brugere som en 3. faktor.

En anden mulighed er at lave en funktion som den der anvendes på www.bk-landsoldaten.dk med denne skal den angivne sikkerhedskode tastes sammen med username og password for at komme ind :o)

/Websam
Avatar billede 0ffline Nybegynder
27. januar 2004 - 19:28 #6
Ja, der er der lidt at forsøge sig med.
Hvis jeg benytter keysersoze's forslag og man bliver redirected til endnu en tjekside hvorpå scriptet tjekker om user_valid=1 hvorefter den redirecter til en beskyttet side, og hvis user_valid=0 til en opret_nyt_password side.

Er det helt hen i skoven, eller en fornuftig måde?
Avatar billede rbl Praktikant
27. januar 2004 - 21:42 #7
Hvis alle brugere bliver oprettet med samme password, kan du jo når de logger ind bare tjekke på, om de har "start-passwordet". Hvis de har det, skal de lave et nyt.
Avatar billede 0ffline Nybegynder
28. januar 2004 - 06:34 #8
rbl> Du har ret, det er også det jeg har prøvet at få til at fungerer.
Men jeg har ikke noget det til tilnærmelsesvis at virke :/
Avatar billede carpediem Nybegynder
28. januar 2004 - 13:57 #9
Hvad har du af kode i øjeblikket?
Avatar billede 0ffline Nybegynder
28. januar 2004 - 17:13 #10
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString
MM_valUsername=CStr(Request.Form("brugernavn"))
If MM_valUsername <> "" Then
  MM_fldUserAuthorization=""
  MM_redirectLoginSuccess="unlogged.asp"
  MM_redirectLoginFailed="default.asp"
  MM_flag="ADODB.Recordset"
  set MM_rsUser = Server.CreateObject(MM_flag)
  MM_rsUser.ActiveConnection = Conn
  MM_rsUser.Source = "SELECT username, userid"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM smask_members WHERE username='" & Replace(MM_valUsername,"'","''") &"' AND userid='" & Replace(Request.Form("password"),"'","''") & "'"
  MM_rsUser.CursorType = 0
  MM_rsUser.CursorLocation = 2
  MM_rsUser.LockType = 3
  MM_rsUser.Open
  If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then
    ' username and password match - this is a valid user
    Session("MM_Username") = MM_valUsername
    Session.Timeout = 45

    If (MM_fldUserAuthorization <> "") Then
      Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value)
    Else
      Session("MM_UserAuthorization") = ""
    End If
    if CStr(Request.QueryString("accessdenied")) <> "" And true Then
      MM_redirectLoginSuccess = Request.QueryString("accessdenied")
    End If
    MM_rsUser.Close
    Response.Redirect(MM_redirectLoginSuccess)
  End If
  MM_rsUser.Close
End If
Response.Redirect("default.asp")
%>
Avatar billede 0ffline Nybegynder
28. januar 2004 - 17:29 #11
Ovenstående er det oprindelige fra DW.
Jeg forsøger stadig at flette noget brugbart sammen af keysersozes link.
Men vil selvfølgelig gerne at man ikke skulle kontakte databasen 2 gange, men udelukkende kan gøre det med et kald :)
Avatar billede 0ffline Nybegynder
31. januar 2004 - 13:05 #12
Nå, det hjalp jo desværre ikke meget
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
Kurser inden for grundlæggende programmering

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