Avatar billede perstig Nybegynder
07. juni 2004 - 14:15 Der er 9 kommentarer og
2 løsninger

Problemer med login

Hej Eksperter

Jeg ved ikke om dette ? måske hører til under Access !! Men jeg oplever kun problemet med ASP

Jeg har et medlemsite hvor medlemmerne logger ind via et opslag i på brugerID og password i en database.
Siderne bliver niveau opdelt vha. af en include-sikkerhedsfil som angiver niveauet for siden.

Problemet:
Jeg har 3 brugere: person A, person B og person C.
Person A har niveau 10 (topniveau, adgang til alt)
Person B har niveau 2
Person C har niveau 1
Alle 3 personer har samme fornavn. Person C er tilføjet sidst. Når person A logger på, får person A kun adgang til det niveau  som den seneste tilføjet person har, altså niveau 1.

Problemet er det samme på andre felter med dubletter.

Herunder lidt kode fra loginscriptet:
>>>>>>>> KODE START
...
strUID = Trim(Replace(Request.Form("ID"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))
If Len(strUID) < 1 Or Len(strPWD) < 1 Then
    Response.Redirect("missing.asp")
Else
    Set rs = Server.CreateObject("ADODB.Recordset")
    sqlFil = "SELECT Navn, Navn, Niveau FROM Person Where ID = '"& strUID &"' AND Password = '"& strPWD &"'"
    rs.Open sqlFil, strDSN, 3, 2, 1
...
<<<<< KODE SLUT

Kode fra en af sikkerhedsfilerne:

>>>>>>>> KODE START
...
<%
If Session("pniveau") < 10 Then%>
    <script language='JavaScript'>{
        alert('access denied');
        window.location='index2.asp';
        }
  </script>
<%
End If
%>
...
<<<<<<<< KODE SLUT

Hvorfor får de enkelte personer ikke det niveau som de har i databasen (det er dobbelttjekket af mig og andre at de har de rigtige niveau i DB'en)
Når de er logget på kan man godt få de øvrige af deres unikke felter frem, men ikke ved login??
Avatar billede somaliomar Praktikant
07. juni 2004 - 14:40 #1
Så vidt jeg har forstået så har de tre brugere samme brugernavn. Har hver bruger ikke også en unik id?
Avatar billede perstig Nybegynder
07. juni 2004 - 14:49 #2
Hvis du med brugernavn mener det der tastes ind sammen med password, så nej.
Navn er dered fornavn, og ID er deres unikke medlemsnr, og derfor det der benyttes som "brugernavn" her kaldet ID
Avatar billede somaliomar Praktikant
07. juni 2004 - 14:51 #3
Okay. Jeg er med. Hvad kommer der efter?:
    Set rs = Server.CreateObject("ADODB.Recordset")
    sqlFil = "SELECT Navn, Navn, Niveau FROM Person Where ID = '"& strUID &"' AND Password = '"& strPWD &"'"
    rs.Open sqlFil, strDSN, 3, 2, 1
Avatar billede perstig Nybegynder
07. juni 2004 - 14:57 #4
Der putter jeg værdierne fra recordsettet ind i nogle sessionvariable
Avatar billede perstig Nybegynder
07. juni 2004 - 14:58 #5
Som jeg så bruger i bla. i de forskellige include sikkerhedsfiler
Avatar billede somaliomar Praktikant
07. juni 2004 - 15:01 #6
Dvs. du gemmer brugerens ID og deres sikkerhedsniveau i session sådan her

Session("NIVEAU") = rs("niveau")
Session("UID") = rs("id")
Avatar billede perstig Nybegynder
07. juni 2004 - 15:06 #7
Ja, bla. jeg gemmer også deres fornavn og efternavn
Avatar billede nielsmo Nybegynder
07. juni 2004 - 15:32 #8
prøv at lave en side hvor du udskriver Session("NIVEAU"), så kan du se om Session("NIVEAU") passer til det der står i databasen.

du kan også prøve at checke om de har det rigtige niveau sådan her, ved at lave session("pniveau") om til tal:
<%
If cint(Session("pniveau")) < cint(10) Then%>
    <script language='JavaScript'>{
        alert('access denied');
        window.location='index2.asp';
        }
  </script>
<%
End If
%>

bare et vildt gæt ;)
Avatar billede perstig Nybegynder
07. juni 2004 - 15:51 #9
Jeg har lige prøvet det du anbefaler nielsmo, og jeg kan se at person A har niveau 10, men stadig ikke adgang til det som niveau 10 ellers giver adgang til. Hvis jeg tilføjer et 1-tal til navnet får person A den rigtige adgang, men ikke uden 1-tallet
Avatar billede perstig Nybegynder
07. juni 2004 - 15:57 #10
Jeg har fundet fejlen

Det var noget gamlet testkode som jeg ikke havde fået ryddet op i som drillede.

Tak for indsatsen begge.
Jeg lukker
Avatar billede perstig Nybegynder
08. juni 2004 - 15:07 #11
dfg
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

Seneste spørgsmål Seneste aktivitet
I dag 10:21 Ny printer, men hvilken Af mort1 i Printere
I går 19:41 USB på Linux Af Uvanga i Linux
12/0818:26 Hvilken type mus Af mort1 i PC
11/0813:21 ms Forms Af leahcim i Andet software
10/0821:30 Blokeret på Snapchat? Af LineP i Chat & Messaging