[ASP] Inloggen met sessies werkt wel/niet

Pagina: 1
Acties:

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Dag mede tweakers,

Ik heb een heel erg vaag probleem. Ik heb op een site een agenda in ASP gemaakt die met een access databeest werkt. Deze agenda is voor iedereen te zien. Gebruikers kunnen inloggen zodat ze een uitgebreide agenda zien. Toen ik dit aan het testen was, werkte dit perfect. Nu heb ik de agenda dus in de site gebouwd en werkt nu vanuit een frame (dat is het enige wat ik kan verzinnen dat anders is). Als ik nu probeer in te loggen, lukt dit dus niet meer. Het lijkt wel of hij de sessie niet meer vasthoud of niet wegschrijft. Nu komt het gekste van het verhaal: Op het ene systeem werkt het wel en op de andere niet. Als ik achter een systeem ga zitten waar het niet werkt en ik roep de agenda appart op, (dus dan zit ie niet in de site ingebakken) dan werkt het dus wel! :?

Ik hoop dat jullie een beetje begrijpen wat ik bedoel want het is nogal een vaag probleem.

Hieronder staat de code van de controle van de gebruiker (waar het dus fout gaat is me een raadsel omdat hij geen foutmelding geeft maar gewoon naar de GeenToegang pagina gaat.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
<%
Dim adoCon
Dim adoRec       
Dim strAccessDB  
Dim strSQL       
Dim strUserName  
Dim strUserPassword  

strUserName = Request.Form("txtUserName")

strAccessDB = "users.mdb"

Set adoCon = Server.CreateObject("ADODB.Connection")
Set adoRec = Server.CreateObject("ADODB.Recordset")
 
adoCon="DRIVER={Microsoft Access Driver (*.mdb)};uid=***;pwd=***"

adoCon = adoCon & "DBQ=" & server.mappath(strAccessDB)

strSQL = "SELECT tblUsers.Password FROM tblUsers WHERE tblUsers.UserID ='"
strSQL = strSQL & strUserName & "'"

adoRec.Open strSQL, adoCon

strUserPassword = adoRec("Password")

If err then
    Call NotValidUser
End If

'Set adoCon = Nothing
'Set adoRec = Nothing

If (Request.Form("txtUserPass")) = strUserPassword then
    
    Session("blnIsUserGood") = True
    Session("Username") = strUserName
    Response.Redirect"agenda_leden.asp?name=" & strUserName

Else
    Call NotValidUser
End If
    Sub NotValidUser()
        Session("blnIsUserGood") = False
        Response.Redirect"geentoegang.htm"
    End Sub
%>
<html>
<head>
<title>Controleer gebruiker</title>
</head>
<body>
</body>
</html>

Eat right. Stay fit. Die anyway.


Verwijderd

Heb je cookies wel aanstaan op de systemen waar het niet werkt :? Die zijn namelijk noodzakelijk voor het werken van Session variabelen ;(.

Verwijderd

Hiermee
Op het ene systeem werkt het wel en op de andere niet.
bedoel je clients? Kijk eens naar de instellingen van cookies, sessies maken hier gebruik van. Cookies moet aan staan.

Edit: KoenM was net wat eerder ;)

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Ga ik ff proberen! Bedankt alvast.

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Dat helpt niet. Ik heb security op low gezet en dat mocht ook niet baten. Volgens mij kan het daar ook niet echt aan liggen omdat als is op die systemen de agenda apart oproep, hij het wel doet :?

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Om het nog even verder te verduidelijken. Op de manier hieronder controleer ik of de sessie goed is:
code:
1
2
3
4
5
<%
If Session("blnIsUserGood") = False or IsNull(Session("blnIsUserGood")) = True then
    Response.Redirect"Geentoegang.htm"
End If
%>

Misschien dat jullie hier iets aan hebben. Ik vind het echt vaag. Vooral omdat het op de ene wel werkt en de andere niet. Ik hoop dat jullie nog ideeën hebben.

Eat right. Stay fit. Die anyway.


  • chaozz
  • Registratie: Juni 2000
  • Laatst online: 23-08 22:57
beetje lastig te zeggen waar het fout gaat.
maar zet eerst eens een ' teken voor dit stuk
code:
1
2
3
If err then
    Call NotValidUser
End If

dan kun je zien of de error ligt aan de databeest, of aan een foute login.

verder. ik ben toevallig ook bezig met een site vol asp, inclusief de login. ik gebruik niet de session variabele, maar cookies om dingen op te slaan. heel eenvoudig:
code:
1
response.cookies("username") = strUsername

ophalen doe je zo:
code:
1
strUsername = Request.cookies("username")

misschien dat hij het dan wel onthoud. ik heb echter ook gemerkt dat als ik in mijn pages een link plaats <a href=test.htm target=_blank> met dus als target _blank of _top, dat de cookies dan niet zijn te gebruiken door die pagina's.

misschien heb je er wat aan.

chaozz.nl | RetroGameCouch


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Op donderdag 21 februari 2002 11:18 schreef chaozz het volgende:
beetje lastig te zeggen waar het fout gaat.
maar zet eerst eens een ' teken voor dit stuk
code:
1
2
3
If err then
    Call NotValidUser
End If

dan kun je zien of de error ligt aan de databeest, of aan een foute login.

verder. ik ben toevallig ook bezig met een site vol asp, inclusief de login. ik gebruik niet de session variabele, maar cookies om dingen op te slaan. heel eenvoudig:
code:
1
response.cookies("username") = strUsername

ophalen doe je zo:
code:
1
strUsername = Request.cookies("username")

misschien dat hij het dan wel onthoud. ik heb echter ook gemerkt dat als ik in mijn pages een link plaats <a href=test.htm target=_blank> met dus als target _blank of _top, dat de cookies dan niet zijn te gebruiken door die pagina's.

misschien heb je er wat aan.
Die Notvaliduser heb ik al omgeleid en daar omt ie dus niet in. Er zijn dus nog twee mogelijkheden. Of hij gaat op z'n bek op het wachtwoord of bij het openen van de pagina. Dat ben ik nog aan het uittesten.
Met die cookies ga ik nog even proberen. Kijken of dat wel wil.
Of cookies niet te gebruiken zijn in andere frames weet ik niet. Bij de sessie die ik gebruik, zou het moeten kunnen werken omdat het op sommige systemen wel goed gaat.

In ieder geval alvast bedankt voor je hulp en ik ga het uitproberen. Mocht je nog meer suggesties hebben hoor ik het graag.

Eat right. Stay fit. Die anyway.


Verwijderd

Als je nog geen sessie hebt, en je opent meerdere asp's in 'n frameset krijgen ze allemaal een eigen sessie id, misschien dat dat je probleem is?

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Op donderdag 21 februari 2002 11:40 schreef Yarvieh het volgende:
Als je nog geen sessie hebt, en je opent meerdere asp's in 'n frameset krijgen ze allemaal een eigen sessie id, misschien dat dat je probleem is?
Kan je het misschien iets verder uitleggen? Het klinkt heel aannemelijk maar ik begrijp niet helemaal wat je bedoeld.

Eat right. Stay fit. Die anyway.


Verwijderd

Okay, je hebt 'n index.html met 2 frames.. blaat1.asp en blaat2.asp , op het moment dat jij je index.html opend staan er nog geen sessies uit. je browser request de 2 asp pagina's tegelijkertijd, je iis denk heej nog geen sessie laten we er een beginnen waarna ie 2x een nieuw sessie id genereerd (requests worden immers te gelijker tijd gedaan) is tamelijk eenvoudig op te lossen door je index.html te renamen naar index.asp

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Ah, op zo'n manier. Dat kan het niet zijn wan hij roep het frame niet bij het laden van de page aan. Daar opent ie maar één asp in een frame. Maar ik ga het toch even proberen.....

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
chaozz, ik hen nog even gekeken naar die cookies maar dat lukt niet omdat ik niet controleer op de usernaam maar of de sessie true of false is.
Ik gebruikt de cookie of sessie niet in een ander frame maar in dezelfde. Dat kan het dus ook niet zijn.

Het renamen van index.html mocht jammer genoeg ook niet baten.

Ik wordt hier zo pissig van he.... Denk je alles werkend te hebben, krijg je zo'n vaag klote probleem! Als er nog ideeën zijn... ik ontvang ze met open armen :)

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Ik ben er nu achter dat ie hem in de achterliggende pagina eruit gooit. Dus waar ik de sessie controleer met dit:
code:
1
2
3
4
5
<%
If Session("blnIsUserGood") = False or IsNull(Session("blnIsUserGood")) = True then
    Response.Redirect"Geentoegang.htm"
End If
%>

De sessie zal waarschijnlijk in sommige gevallen niet goed weggeschreven worden.

Wel weer wat verder..... nog niet gelukkig :P

Edit: Kan ik op één of andere manier niet tussendoor controleren of er een sessie geopend of actief is? Of wanneer er een sessie gesloten wordt?

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Ik ben er achter! Nou, laat ik het zo zeggen: Ik krijg het aan de gang op de systemen waar het niet werkte.
Het bleek dus toch aan de cookies instellingen te liggen lokaal in IE. Als bij privacy de settings op medium staat, dan werkt het dus niet. Dan blocked hij third party cookies. Nu komt het vreemde...... Een vriend van me werkt met de zelfde login methode en werkt ook mat frames. Die kan dus wel inloggen terwijl third party cookies dan niet toegelaten worden. En ook op die systemen werkt het als ik alleen de url van de agenda intik. :?
Schiet mij maar lek!
Kan iemand mij hier een verklaring voor geven? En hoe kan ik ervoor zorgen dat mijn login werkt met de standaard instellingen in IE?

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
***schopje***

Heeft iemand een idee hoe ik er voor kan zorgen dat niet iedereen die in wilt loggen, zijn cookie instellingen moet veranderen? Please :'(

Eat right. Stay fit. Die anyway.


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
Schrijf een cookie, vervolgens controleer je of je cookie kan uitlezen, zo niet dan staan ze cookies uit.

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Was het maar zo makkelijk. Als ik namelijk de pagina aleen ophaal. Dus niet in een website maar direct de url van de agenda dan werkt het wel :? Dat is er zo vreemd aan. Dus de sessie wordt wel geaccepteerd maar neit als ik um in de website inbak.

Vreemd he...

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Schopje :)

Sorry maar ik zit best wel omhoog met dit probleem. Heeft er iemand misschien nog een ideetje zonder dat de gebruiker zijn instellingen aan hoeft te passen.

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
En ja hoor! Ik ben er eindelijk achter waar het aan ligt! Het lag dus niet aan mij :)
De domeinnaam komt van nxs. Om de naam in de adresbalk te behouden na het doorrouteren, maakt nxs er een frame omheen. Hier gaat het dus verkeerd. Als ik de website dus via de directe url oproep dat doet ie het wel!
Ik heb nxs dus gemaild over dit probleem. Ik kreeg terug dat ze er daar nooit van gehoord hadden en dan ik dan maar nxs zo in moest stellen dat hij de website niet in een frame zet en dus ook de domeinnaam niet weergeeft.
Nou was ik tot voorkort erg tevreden over nxs maar nu begin ik me toch erg afgewimpeld te voelen.
Heeft één van jullie ooit bij de hand gehad dat als een pagina in teveel frames opgebouwd wordt, dat dan de sessie begint te klagen?
Ik vind dit echt een idioot probleem. Maar ja, die heb ik altijd |:(

Eat right. Stay fit. Die anyway.

Pagina: 1