Avatar billede 0ffline Nybegynder
25. december 2003 - 15:47 Der er 2 kommentarer og
1 løsning

Tilføje husk mig cookie på loginscript

Hej

Har støvet Eksperten rundt 4 gange for at finde noget autologin eller huskmig. Har også prøvet at implementerer forslag fra eks. Eaqleeye og pelskjaer, dog uden en masse oprydning til følge ....

Er der en derude som kan tilføje en fungerende 'Husk mig' funktion på mit login. Der er afsat checkbox til formålet, men ellers intet :O/

LOGINTABLE ------------------>

<form action='login.asp'& method='POST' name='brugernavn'><table align='center'>"
RESPONSE.WRITE"<tr valign='baseline'>"
RESPONSE.WRITE"<td nowrap align='center' colspan='2' class='blueheadline'><br>Log Ind ! &nbsp; <img src='splashgfx/smallarrow.jpg' height='9' width='9'> &nbsp;<img src='splashgfx/smallarrow.jpg' height='9' width='9'> &nbsp;<img src='splashgfx/smallarrow.jpg' height='9' width='9'><br><br></td></tr>"
RESPONSE.WRITE"<tr valign='baseline'>"
RESPONSE.WRITE"<td nowrap align='right'>Brugernavn:</td>"
RESPONSE.WRITE"<td> <input type='text' name='brugernavn' value='' size='32' class='forms'></td>"
RESPONSE.WRITE"</tr>"
RESPONSE.WRITE"<tr valign='baseline'>"
RESPONSE.WRITE"<td nowrap align='right'>Password:</td>"
RESPONSE.WRITE"<td> <input type='password' name='password' value='' size='32' class='forms'></td>"
RESPONSE.WRITE"</tr>"
RESPONSE.WRITE"<tr valign='baseline'>"
RESPONSE.WRITE"<td nowrap align='right' colspan='2'>Husk mine oplysninger fremover<input type='checkbox' onFocus='if (this.blur) this.blur();'></td>"
RESPONSE.WRITE"</tr>"
RESPONSE.WRITE"<tr valign='baseline'>"
RESPONSE.WRITE"<td nowrap align='right'>&nbsp;</td>"
RESPONSE.WRITE"<td align='right'><input type='submit' value='Log ind' class='transbottom'></td>"
RESPONSE.WRITE"</tr>"
RESPONSE.WRITE"</form></table>

LOGIN.ASP ---------->

<!--#include file="Connections/db.asp" -->
<%
' *** 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="onlogged.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, account_valid"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM ex_members WHERE username='" & Replace(MM_valUsername,"'","''") &"' AND userid='" & Replace(Request.Form("password"),"'","''") & "' AND account_valid = 1"
  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")
%>

/0ffline
Avatar billede ellebaek Nybegynder
25. december 2003 - 22:29 #1
<!--#include file="Connections/db.asp" -->
<%
' *** 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="onlogged.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, account_valid"
  If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization
  MM_rsUser.Source = MM_rsUser.Source & " FROM ex_members WHERE username='" & Replace(MM_valUsername,"'","''") &"' AND userid='" & Replace(Request.Form("password"),"'","''") & "' AND account_valid = 1"
  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

'//**************************************************
'// Følgende er tilføjet

if request.form("autologin") <> "" then
Response.Cookies("ditcookienavn")("username") = MM_valUsername
Response.Cookies("ditcookienavn").Expires = Now() + 1
end if

'//*******************************************
    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")
%>

Husk at give checkboxen navnet: autologin ved at tilføje name="autologin" i input-koden.

Dette skulle få logindelen til at virke.
Så kan du lave en test i toppen af dine beskyttede filer der hedder noget i stilen af:

if not request.cookies("ditcookienavn")("username") <> "" OR not Session("MM_Username") <> "" then
response.redirect("default.asp")
end if

Så bliver brugeren sendt videre til default.asp hvis han ikke har en cookie eller en session...

Håber det kan bruges.
Avatar billede 0ffline Nybegynder
25. december 2003 - 23:27 #2
Den opretter da godt nok en cookie, men ellers sker der ikke noget.
Der mangler vel en eller anden form for trigger, i min default som chekker efter denne cookie. Men jeg arbejder videre herfra. Tusinde tak for hjælpen
/0ffline
Avatar billede ellebaek Nybegynder
26. december 2003 - 11:55 #3
Det skulle gerne løses ud fra denne:

if not request.cookies("ditcookienavn")("username") <> "" OR not Session("MM_Username") <> "" then
response.redirect("default.asp")
end if
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