27. januar 2004 - 18:50Der 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 :)
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.
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
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.
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)
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?
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.
<% ' *** 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") %>
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 :)
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.