Avatar billede mjall0w Nybegynder
03. august 2003 - 11:32 Der er 9 kommentarer og
1 løsning

Autologin - Help

Hej, jeg har prøvet at rode lidt med at få autologin til at virke men jeg har desværre ikke haft success.. Håber i kan hjælpe mig mit script ser sådan her ud:

        <%
        Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("aabbccddee.mdb") & ";UID=admin;PWD=****;"
       
Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT Count(*) AS ItemCount1 FROM Bruger"
    rs.Open strSQL, myConn, 1, 3


If Request.Form("Action") = "Login" Then


   
    strID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
    strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

   
    If Len(strID) > 0 And Len(strPWD) > 0 Then


       
        Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("aabbccddee.mdb") & ";UID=admin;PWD=****;"
       
        strSQL = "SELECT * FROM Bruger"&_
            " WHERE (Username = '" & strID & "')"&_
            " AND (Password = '" & strPWD & "')"
           
        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then

            intID = rs("ID")
            strlevel = rs("Access_Level")
        Else
           
            strERR = "<H2>HTTP Error 401</H2><P><STRONG>401.1 Unauthorized: Logon Failed</STRONG></P><P>This error indicates that the credentials passed to the server do not match the credentials required to log on to the server.</P"
        End If

        If Len(intID) Then
            Session("ID") = rs("ID")
            Session("Username") = StrID
            Session("gamernick") = rs("Gamernick")
            Session("Access_Level") = strlevel
            Session("Password") = strPWD
            Session("Signatur") = rs("signatur")
            Session("icon") = rs("icon")
           
        If Rs.EOF Then
Session("Authenticated") = 0
Response.Redirect ("default.asp")
Else
Session("Authenticated") = 1

           
end if

           
   
           
'        End If
       
       
       
       
       
end if
    If Len(strErr) > 0 Then
       
        strErr = "<p><font color=red>" & strErr & "</font></p>"
  End If
End If
    end if           

   
   
if Session("Authenticated") = 0 then       
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#000000'>Login:</font>"
response.write "        <table width='100%' table border='0' style='border-collapse: collapse' bordercolor='#111111' cellpadding='3' cellspacing='1' width='70'> "
response.write "          <tr> "
response.write "          </tr>"
response.write "          <tr> "
response.write "            <td height='35'><font color='#000000' face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
response.write "              <input type='text' name='brugernavn' size='15' font face='Verdana, Arial, Helvetica, sans-serif'; style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#fffff; 'class=mitfelt>"
response.write "              </font></td>"
response.write "          </tr>"
response.write "          <tr> "
response.write "            <td><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><small>Password:</small></font></td>"
response.write "          </tr>"
response.write "          <tr> "
response.write "          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='2'> "
response.write "              <input type='password' name='Adgangskode' size='15' font face='Verdana, Arial, Helvetica, sans-serif'; style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#fffff; ' class=mitfelt>"
response.write "              </font></td>"
response.write "          </tr>"
response.write "        </table>"
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
response.write "        <input type='submit' value='Login' name='Action' style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#ffffff' class=mitfelt>"
response.write "        <br></font>Auto Login<font face='Verdana, Arial, Helvetica, sans-serif' size='1'><input type='checkbox' name='autologon' Value='autologon' class='mitfelt'></font><br>"
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='default.asp?page=opretbruger' >Opret "
response.write "        Bruger</a></font><br> "
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='default.asp?page=glemtpassword' >Glemt "
response.write "        Password ?</a></font> "
response.write "        <p> <font face='Verdana, Arial, Helvetica, sans-serif' size='2'> </font></p>"
response.write "      </form>"
end if
%>

Håber i kan og vil hjælpe mig ;)
Avatar billede thefatman Nybegynder
03. august 2003 - 11:45 #1
hmm.

Der er da ikke meget autologin over det..

cookies?? Her logger du jo bare ind
Avatar billede mjall0w Nybegynder
03. august 2003 - 12:07 #2
Nej det er også mit login der er der, også om nogle ville hjælpe mig med at få indsat noget autologin hvor den går ud fra den checkbox jeg har længere nede..
Avatar billede haase Nybegynder
03. august 2003 - 16:57 #3
jeg har brugt derhersens kode - du kan vel selv trække det der med


index.asp
<%

  If Request.ServerVariables("CONTENT_LENGTH") <> 0 Then
    RqAdmin = Trim(Request.Form("Login"))
    RqKodeord = Trim(Request.Form("Adgangskode"))
    gemLogin = ( Request.Form("gemlogin") = 1 )
  else
    RqAdmin = Request.cookies("Login")("brugernavn")
    RqKodeord = Request.cookies("Login")("adgangskode")
    gemLogin = false ' vi behøver IKKE skrive til cookien igen!
  end if


if RqAdmin<>"" then ' HVIS BRUGERNAVNET ER SAT, SÅ...
  set rsBruger = Server.CreateObject("ADODB.Recordset")
  rsBruger.ActiveConnection = MM_conn_STRING
  rsBruger.Source = "SELECT BrugerID, Brugernavn, Adgangskode, Fornavn, Efternavn, RegDate  FROM Bruger  WHERE Brugernavn = '" & RqAdmin & "' AND Adgangskode = '" & RqKodeord & "'"
  rsBruger.CursorType = 0
  rsBruger.CursorLocation = 2
  rsBruger.LockType = 3
  rsBruger.Open()
  rsBruger_numRows = 0

  ' TJEK OM BRUGEREN FINDES I DB...
  If rsBruger.EOF Then
    'bruger ugyldig!
    Session("login") = "0"
    Session("fejl") = "1"
    ' nulstil cookie
    Response.Cookies("Login")("brugernavn") = ""
    Response.Cookies("Login")("adgangskode") = ""
   
    Response.Redirect ("index.asp")
  Else
    'bruger OK!
   
    Session("login") = "1"
    Session("Bruger") = (rsBruger.Fields.Item("BrugerID").Value)
    Session("Navn") = (rsBruger("Fornavn") & " " & rsBruger("Efternavn"))
    If gemLogin Then
      Response.Cookies("Login")("brugernavn") = RqAdmin
      Response.Cookies("Login")("adgangskode") = RqKodeord
      Response.Cookies("Login").Expires = Date + 365*10 
      Response.Cookies("Login").Domain = "www.domaene.dk"
    end if
   
   
    Response.Redirect ("index2.asp")
  End If




%>
<% Else %>

<form name="login" method="post" action="<%= Request.ServerVariables("SCRIPT_NAME") %>">

<input type="text" name="login" ><br>
input type="password" name="adgangskode" ><br>
<input type="checkbox" name="gemlogin" value="1"><br><br>
<input type="submit" name="Submit" value="login" class="submit">

<% END IF %>
Avatar billede wilweb Nybegynder
03. august 2003 - 18:12 #4
Burde du ikke af sikkerhedsgrunde validere form felterne sådanne? eller er det mig der er på afveje?

RqAdmin = Trim(replace(Request.Form("Login"), "'", "''"))
RqKodeord = Trim(replace(Request.Form("Adgangskode"), "'", "''"))

i stedet for:

    RqAdmin = Trim(Request.Form("Login"))
    RqKodeord = Trim(Request.Form("Adgangskode"))
Avatar billede mjall0w Nybegynder
03. august 2003 - 18:17 #5
Hmm jeg har ikke særlig meget forstand på cookies..
Ville du ikke gøre mig den store tjeneste at prøve at skrive cookiesne og if sætningen ind så den passer ??
Tåger nemlig for vildt rundt i de cookies
Avatar billede wilweb Nybegynder
03. august 2003 - 18:19 #6
haase :> Din forbindelse til databasen er vist lavet i et drag and drop værktøj, jeg får det ikke til at virke?
Avatar billede haase Nybegynder
03. august 2003 - 20:55 #7
qizom: jo, en validation er nok en god idé -
database-forbindelse er fra DreamWeaver
Avatar billede haase Nybegynder
03. august 2003 - 21:12 #8
noget lignende det her... - med din kode


<% If Request.ServerVariables("CONTENT_LENGTH") <> 0 Then

strID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))
Request.Form("autologon") = "autologon"
ELSE
strID =  Response.Cookies("Login")("Username")
strPWD = Response.Cookies("Login")("Password") = strPWD
Request.Form("autologon") <> "autologon"
%>

<%
        Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("aabbccddee.mdb") & ";UID=admin;PWD=****;"
       
Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "SELECT Count(*) AS ItemCount1 FROM Bruger"
    rs.Open strSQL, myConn, 1, 3


If Request.Form("Action") = "Login" Then


   
   

   
    If Len(strID) > 0 And Len(strPWD) > 0 Then


       
        Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("aabbccddee.mdb") & ";UID=admin;PWD=****;"
       
        strSQL = "SELECT * FROM Bruger"&_
            " WHERE (Username = '" & strID & "')"&_
            " AND (Password = '" & strPWD & "')"
           
        Set rs = myConn.Execute(strSQL)
        If Not (rs.BOF Or rs.EOF) Then

            intID = rs("ID")
            strlevel = rs("Access_Level")
       
            'rettet - start    
        If Request.Form("autologon") = "autologon" THEN
            Response.Cookies("Login")("Username") = strID
            Response.Cookies("Login")("Password") = strPWD
            Response.Cookies("Login").Expires = Date + 365*10 
            Response.Cookies("Login").Domain = "www.domaene.dk"
            END IF
        'rettet - slut   
   
        Else
           
            strERR = "<H2>HTTP Error 401</H2><P><STRONG>401.1 Unauthorized: Logon Failed</STRONG></P><P>This error indicates that the credentials passed to the server do not match the credentials required to log on to the server.</P"
       
        'rettet - start
        Response.Cookies("Login")("Username") = " "
          Response.Cookies("Login")("Password") = " "
        'rettet - slut
           


        End If

        If Len(intID) Then
            Session("ID") = rs("ID")
            Session("Username") = StrID
            Session("gamernick") = rs("Gamernick")
            Session("Access_Level") = strlevel
            Session("Password") = strPWD
            Session("Signatur") = rs("signatur")
            Session("icon") = rs("icon")
           
        If Rs.EOF Then
Session("Authenticated") = 0
Response.Redirect ("default.asp")
Else
Session("Authenticated") = 1

           
end if

           
   
           
'        End If
       
       
       
       
       
end if
    If Len(strErr) > 0 Then
       
        strErr = "<p><font color=red>" & strErr & "</font></p>"
  End If
End If
    end if           
END IF

ELSE

   
     
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1' color='#000000'>Login:</font>"
response.write "        <form method='post' action=' & Request.ServerVariables("SCRIPT_NAME") & '><table width='100%' table border='0' style='border-collapse: collapse' bordercolor='#111111' cellpadding='3' cellspacing='1' width='70'> "
response.write "          <tr> "
response.write "          </tr>"
response.write "          <tr> "
response.write "            <td height='35'><font color='#000000' face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
response.write "              <input type='text' name='brugernavn' size='15' font face='Verdana, Arial, Helvetica, sans-serif'; style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#fffff; 'class=mitfelt>"
response.write "              </font></td>"
response.write "          </tr>"
response.write "          <tr> "
response.write "            <td><font face='Verdana, Arial, Helvetica, sans-serif' size='2'><small>Password:</small></font></td>"
response.write "          </tr>"
response.write "          <tr> "
response.write "          <td><font face='Verdana, Arial, Helvetica, sans-serif' size='2'> "
response.write "              <input type='password' name='Adgangskode' size='15' font face='Verdana, Arial, Helvetica, sans-serif'; style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#fffff; ' class=mitfelt>"
response.write "              </font></td>"
response.write "          </tr>"
response.write "        </table>"
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='2'>"
response.write "        <input type='submit' value='Login' name='Action' style='border: 1px solid #C4E1FF; ; color:#0066CC; background-color:#ffffff' class=mitfelt>"
response.write "        <br></font>Auto Login<font face='Verdana, Arial, Helvetica, sans-serif' size='1'><input type='checkbox' name='autologon' Value='autologon' class='mitfelt'></font><br>"
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='default.asp?page=opretbruger' >Opret "
response.write "        Bruger</a></font><br> "
response.write "        <font face='Verdana, Arial, Helvetica, sans-serif' size='1'><a href='default.asp?page=glemtpassword' >Glemt "
response.write "        Password ?</a></font> "
response.write "        <p> <font face='Verdana, Arial, Helvetica, sans-serif' size='2'> </font></p>"
response.write "      </form>"

%>

<% END IF %>
Avatar billede mjall0w Nybegynder
04. august 2003 - 18:07 #9
Hmm ved ikke hvorfor har siddet og kigget på det, men den vil ikke rigtig godkende den der ELSE ved:

end if
    If Len(strErr) > 0 Then
       
        strErr = "<p><font color=red>" & strErr & "</font></p>"
  End If
End If
    end if           
END IF

ELSE

<---
Avatar billede mjall0w Nybegynder
30. august 2003 - 19:21 #10
Lukker..
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